Điểm:0

OpenVPN và IPTABLES - Cách gán cổng lan (vpn) cho máy khách

lá cờ cn

Tôi đang cố gắng thiết lập mạng openvpn của mình nhưng tôi gặp sự cố.

Cấu hình mạng LAN của tôi như sau:

  • bộ định tuyến chính Zyxel 192.168.1.1 đóng vai trò là cổng (kết nối vdsl) và điểm truy cập;
  • bộ định tuyến openwrt TD-W8970 192.168.1.2 đóng vai trò truy cập máy chủ điểm và vpn (10.212.79.1)

Điều tôi muốn làm là tạo một mạng VPN với các máy khách chỉ phải gửi yêu cầu internet qua cổng LAN của tôi (192.168.1.1); nói cách khác, tôi muốn IP công khai của máy khách được hiển thị trên internet là một trong các cổng LAN của tôi (192.168.1.1) chứ không phải IP được ISP của họ gán cho chúng.

Ở đây bên dưới cấu hình openvpn của tôi.

máy chủ.conf

người dùng không ai
nhóm không có nhóm
nhà phát triển điều chỉnh
cổng 1194
proto udp
máy chủ 10.212.79.0
255.255.255.0
mạng con cấu trúc liên kết
khách hàng đến khách hàng
lưu giữ 10 60
kiên trì điều chỉnh
phím kiên trì
động từ 3
đẩy "kiên trì điều chỉnh"
đẩy "phím kiên trì"
đẩy "DNS tùy chọn dhcp 8.8.8.8"
đẩy "DNS tùy chọn dhcp 8.8.4.4"
đẩy "tuyến đường 192.168.1.0 255.255.255.0"
ca /etc/easy-rsa/pki/ca.crt
chứng chỉ /etc/easy-rsa/pki/issued/server.crt
khóa /etc/easy-rsa/pki/private/server.key
dh /etc/easy-rsa/pki/dh.pem
tls-auth /etc/easy-rsa/pki/ta.key 0

khách hàng.conf

nhà phát triển điều chỉnh
proto udp
từ xa myserver_xyz.com 1194 udp
giải quyết-thử lại vô hạn
quý tộc
người dùng không ai
nhóm không có nhóm
phím kiên trì
kiên trì điều chỉnh
ca ca.crt
chứng chỉ client1.crt
khách hàng quan trọng1.key
máy chủ từ xa-cert-tls
tls-auth ta.key 1
mật mã AES-256-CBC
động từ 3

Mạng openvpn được thiết lập chính xác và máy khách 10.212.79.2 có thể ping máy chủ vpn 10.212.79.1 và điều hướng trong Internet.

Vấn đề là IP máy khách công khai được hiển thị trên Internet là IP được chỉ định bởi ISP của nó chứ không phải IP của cổng LAN (192.168.1.1) nơi đặt máy chủ vpn (192.168.1.2/10.212.79.1).

Tôi đã cố gắng thực hiện một số thay đổi trong cấu hình máy chủ nhưng không thành công.

Tôi cũng đã cố gắng đặt push "redirect-gateway def1" hoặc push "redirect-gateway autolocal" nhưng trong trường hợp này, máy khách hoàn toàn dừng điều hướng trên internet.

Nếu đó không phải là sự cố openvpn, thì đó có phải là sự cố liên quan đến cấu hình chính xác của IPTABLES không?

Bạn có thể giúp tôi không?

Cảm ơn trước :)

Điểm:0
lá cờ bd

Nếu tôi hiểu nhu cầu của bạn, các gói IP của máy khách của bạn sẽ được gửi đến bộ định tuyến máy khách, sau đó qua Internet trong một đường hầm, đến bộ định tuyến máy chủ, sau đó quay lại Internet.

cổng chuyển hướng def1 có vẻ đầy đủ, nhưng để chắc chắn, sẽ tốt hơn nếu cho chúng tôi xem định tuyến ip đầu ra trên tất cả các nút (PC khách, bộ định tuyến máy khách, bộ định tuyến máy chủ). Những đầu ra này sẽ đảm bảo rằng các bảng định tuyến khác nhau là chính xác. https://openvpn.net/community-resources/how-to/ đề xuất một địa phương cờ tùy thuộc vào cấu hình chính xác của bạn.

Lệnh giả mạo sẽ được đặt trên máy chủ VPN, thường là trên bộ định tuyến của máy chủ: iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE trong đó eth0 là thiết bị bên ngoài (gần Internet nhất). Nhìn thấy https://linuxhacks.org/what-is-ip-masquerade-and-how-to-rule-it-with-iptables/ hoặc https://bobcares.com/blog/iptables-nat-masquerade/ Bạn cũng phải bật tính năng chuyển tiếp (xem các bài viết này).

Francesco avatar
lá cờ cn
Trước hết cảm ơn bạn đã hỗ trợ. Tôi đã giải quyết theo cách này. Trong openvpn server.conf: đẩy "redirect-gateway def1". Trong bộ định tuyến OpenWRT lưu trữ máy chủ openvpn: sysctl net.ipv4.ip_forward=1, iptables -I FORWARD -j ACCEPT, iptables -t nat -I POSTROUTING -s 10.212.79.0/24 -o br-lan -j MASQUERADE. Tôi cũng đã xóa khỏi server.conf: đẩy "dhcp-option DNS 8.8.8.8", đẩy "dhcp-option DNS 8.8.4.4", đẩy "tuyến 192.168.1.0 255.255.255.0". Bây giờ tôi tự hỏi liệu tôi có thể đạt được kết quả tương tự mà không cần sử dụng iptables mà chỉ sử dụng cấu hình openvpn cụ thể trên máy chủ và máy khách hay không.
Frédéric Loyer avatar
lá cờ bd
Nếu cấu hình của bạn có 2 mạng có cùng tiền tố (192.168.1.0/24), tôi đoán việc giả mạo là bắt buộc. Điều này tránh trường hợp một gói từ một trong các mạng này không thay đổi ở lần thứ hai, điều này có nghĩa là có vấn đề về định tuyến (mạng đích tin rằng gói đó đến từ một mạng lân cận chứ không phải từ phía bên kia của VPN). Tôi không thể nhấn mạnh hơn nữa. Sau đó, tiếp tục giả mạo hoặc thay đổi một trong số 192.168.1.0 bằng cách giả sử là 192.168.2.0.
Francesco avatar
lá cờ cn
Tôi không kiểm soát được cấu hình mạng máy khách vì máy khách kết nối với vpn của tôi từ một mạng công cộng (khách sạn, LTE dongle, ...). Những gì tôi có thể làm để tránh các sự cố định tuyến là thay đổi cấu hình IP trong lan máy chủ, tránh 192.168.x.x phổ biến và ưu tiên thứ gì đó ở giữa 10.x.x.x, giảm khả năng xung đột IP với mạng máy khách.Trong trường hợp này (lan máy chủ và lan máy khách có cấu hình IP khác nhau), liệu có thể đạt được kết quả tương tự mà không cần sử dụng iptables mà chỉ đặt server.conf và client.conf đúng cách không?
Frédéric Loyer avatar
lá cờ bd
Với một khách hàng, điều này sẽ hoạt động. Với hai máy khách có cùng dải địa chỉ 192.16.1.0, việc giả mạo là cần thiết. Lưu ý rằng có thông báo tuyến đường 193.168.1.0 sẽ xuất hiện ở đâu đó. Và bạn vẫn cần giả mạo giữa tất cả các địa chỉ riêng tư của mình và Internet, nhưng tôi cho rằng nó được thực hiện ở nơi khác.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.