Chuyển tiếp từ LAN sang máy khách OpenVPN (iptables?)


2

Tôi có máy chủ OpenVPN đang chạy trong mạng LAN (có thể truy cập cục bộ tại 192.168.1.12) và tôi muốn chuyển tiếp yêu cầu đến nó từ các thiết bị khác trên mạng LAN, qua cổng 3000, đến một trong các máy khách VPN. (10.8.0.6)

Kết quả cuối cùng của tôi là cho các thiết bị 192.168.xx có thể truy cập máy chủ web bằng cách nhập 192.168.1.12:3000 vào trình duyệt, nhưng thực sự đang liên lạc với 10.8.0.6:3000.

chuyển tiếp ip được kích hoạt trên máy chủ vpn.

(những nỗ lực sửa đổi từ các câu hỏi khác dường như không hoạt động)

iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 3000 -j DNAT --to-destination 10.8.0.6:3000
iptables -A FORWARD -p tcp -d 10.8.0.6 --dport 3000 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

Câu trả lời:


0

Một cái gì đó tương tự có thể đạt được bằng cách thêm một "tuyến tĩnh" vào các máy tính của bạn trong mạng LAN cho chúng biết nơi chúng có thể tìm thấy các máy khách VPN.

Khách hàng LAN


Ví dụ: bạn có thể thêm tuyến đến máy Linux trong mạng LAN của mình như sau:

(sudo) ip route add 10.8.0.0/24 via 192.168.1.12

Trên Windows cũng có thể đạt được như thế này:

route add 10.8.0.0 mask 255.255.255.0 192.168.1.12

(Nếu sử dụng Windows, hãy cân nhắc sử dụng tùy chọn -p với routeđể duy trì tuyến đường.

Máy chủ OpenVPN


Rõ ràng các máy khách VPN của bạn cũng phải biết về mạng LAN của bạn, điều này có thể đạt được bằng cách thêm nó vào máy chủ OpenVPN của bạn.

push "route 192.168.1.0 255.255.255.0"

(Giả sử rằng mặt nạ mạng LAN của bạn là / 24)

Bây giờ nếu bạn đã làm tất cả những điều trên, bạn chỉ có thể truy cập máy chủ web được đề cập như thế này: http://10.8.0.6:3000


Cảm ơn, đây là một giải pháp thú vị nhưng không phải là con đường tôi sẽ đi, vì nó không giải quyết được vấn đề cho khách hàng di động.
Joe

0

Hóa ra ... không có gì sai với quy tắc iptables ban đầu của tôi. Mặc dù chỉ cần cái đầu tiên!


0

Bạn có thể làm tương tự mà không cần bất kỳ quy tắc iptables nào liên quan bằng cách sử dụng đường hầm SSH. Chạy lệnh sau trên máy chủ OpenVPN của bạn:

$ ssh -L 3000:10.8.0.6:3000 root@localhost &

Sau đó, nếu bạn mở http://192.168.1.12:3000 và nó sẽ được chuyển tiếp đến 10.8.0.6:3000

Kết nối SSH thực tế sẽ chạy trong nền và bạn sẽ cần chạy lại lệnh sau khi khởi động lại máy chủ hoặc thỉnh thoảng bỏ kết nối.

Hãy xem ở đây để biết thêm ví dụ về đường hầm SSH, nó có thể cực kỳ hữu ích trong trường hợp như vậy.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.