У мене є сервер NAS, для якого я повинен виконати перенаправлення портів, щоб зробити його служби доступними з Інтернету. Однак мій провайдер блокує порти, тому мені вдалося придбати собі дешевий Ubuntu VPS, щоб запустити там сервер OpenVPN, а потім якось перенаправити туди весь трафік NAS і необхідні порти
Моє налаштування таке:
| Распі | (192.168.0.101/24)| |(192.168.1.1/24) (192.168.0.1/24) APwlan0 eth0NAS (192.168.1.102/24) | \ / | |iptables і механізм маршрутизації{tun0} | | 10.8.0.6 |
Я вважаю, що сторона VPS налаштована правильно, оскільки я можу підключитися до свого Raspberry Pi через SSH за допомогою своєї IP-адреси VPS. Ось що я там зробив, щоб це запрацювало:
iptables -t nat -A ПОПЕРЕДНЯ МАРШРУТИЗАЦІЯ -d A.B.C.D -p tcp --dport 22 -j DNAT --to-dest 10.8.0.6:22 iptables -t nat -A POSTROUTING -d 10.8.0.6 -p tcp --dport 22 - j SNAT --до джерела 10.8.0.1
Конфігурація мого сервера OpenVPN:
порт X proto udp dev tun ca ca.crt cert server.crt ключ server.key dh dh2048.pem сервер 10.8.0.0 255.255.255.0 ifconfig-pool-persist ipp.txt client-config-dir ccd push "redirect-gateway def1 bypass -dhcp"push "dhcp-option DNS 208.67.222.222"push "dhcp-option DNS 208.67.220.220"keepalive 10 120 comp-lzo user nobody group nogroup persist-key persist-tun status openvpn-status.log verb 3
Я також зробив:
sysctl -w net.ipv4.ip_forward=1
і поставити
DEFAULT_FORWARD_POLICY="ПРИЙНЯТИ"в
/etc/default/ufw, а також додано
# ЗАПУСТИТИ ПРАВИЛА OPENVPN # Правила таблиці NAT *nat :POSTROUTING ACCEPT [0:0] # Дозволити трафік від клієнта OpenVPN до eth0 -A POSTROUTING -s 10.8.0.0/8 -o eth0 -j MASQUERADE# КІНЧИТИ ПРАВИЛА OPENVPN
до
/etc/ufw/before.rules
Конфігурація клієнта OpenVPN:
client dev tun proto udp remote A.B.C.D X resolv-retry infinite nobind user nobody group nogroup persist-key persist-tun ns-cert-type server comp-lzo verb 3 XXX YYY ZZZ
Як мені перенаправити трафік eth0 на tun0 і переслати порти Y і Z через тунель?
Я просто знаю, що для інших портів мені слід переналаштувати мій VPS відповідно, як я зробив для порту 22.