Назад | Перейти на главную страницу

IPTables не может подключиться через VPN

У меня есть VPN-соединение с удаленным сервером. Я хочу, чтобы другие компьютеры могли подключиться к веб-серверу в удаленном месте через разъем VPN. Но я не могу попасть туда, куда хочу.

Вот такая ситуация:

VPN Server (and also the webserver): 10.0.0.2
          ^
          |
Router: 192.168.1.127 & 10.0.0.1 (openssh port is forwarded to 10.0.0.2)
          ^
          |
          |
VPN Connector: 192.168.1.148
          ^
          |
Client pc: 192.168.1.129

Также IP-адреса сетей vpn (называемых tun0): VPN-сервер: 192.168.2.1 VPN-коннектор: 192.168.2.6

Итак, если я вхожу в VPN-коннектор и выполняю wget 192.168.2.1:4848, он работает нормально.

Это хорошо, vpn соединение работает.

Но я хочу сделать следующее: на клиентском компьютере перейдите в браузер и перейдите к 192.168.1.148:4848. (вот и разъем vpn). Затем соединитель должен перенаправить его на vpn, показывая мне веб-сервер на 192.168.2.1 (сервер vpn).

Это моя настройка IPTables:

iptables -t nat -A PREROUTING -p tcp -d 192.168.1.148 --dport 4848 -m state --state NEW,ESTABLISHED,RELATED -j DNAT -to 192.168.2.1:4848
iptables -t nat -A POSTROUTING -o tun0 MASQUERADE

Итак, я новичок в iptables, что мне не хватает?

Если я сделаю tcpdump на разъеме vpn на tun0, я могу увидеть, что пакеты проходят через?

13:31:02.850057 IP 192.168.1.129.52870 > 192.168.2.1.1337: Flags [S], seq 538959383, win 8192, options                          [mss 1460,nop,nop,sackOK], length 0

Но если я делаю tcpdump на сервере VPN на tun0, ничего не происходит.

Мне жаль, что это длинный пост, но что я делаю не так? Пожалуйста помоги!

На своем VPN-коннекторе попробуйте настроить правило маскарада следующим образом

iptables -t nat -I POSTROUTING -o tun0 -j SNAT --to-source 192.168.2.6