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

Маршрутизация трафика через VPN в определенную подсеть. Пинг в порядке, но TCP-трафик не возвращается

У меня следующая установка

На Сервере включена переадресация NAT:

/sbin/iptables -t nat -A POSTROUTING -d 10.10.10.0/24 -o tun0 -j MASQUERADE
# cat /proc/sys/net/ipv4/ip_forward
1


# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination  

Я могу выполнить трассировку от клиента к серверу

# traceroute 10.10.10.10
traceroute to 10.10.10.10 (10.10.10.10), 30 hops max, 60 byte packets
 1  (192.168.21.1)  0.283 ms  0.211 ms  0.165 ms  ## Router
 2  (192.168.21.11)  0.262 ms  0.249 ms  0.213 ms ## Server
 3  (172.17.4.1)  40.356 ms  83.965 ms  83.915 ms ## OpenVPN Subnet
 4  (10.10.10.10)  83.778 ms  83.626 ms  83.488 ms

Но мне почему-то не удается подключиться с клиента к серверу. Вот что сообщает tcpdump, когда я пытаюсь подключиться к серверу через SSH:

# tcpdump -i tun0
tcpdump: WARNING: arptype 65534 not supported by libpcap - falling back to cooked socket
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tun0, link-type LINUX_SLL (Linux cooked), capture size 96 bytes
08:05:16.734848 IP 172.17.4.6.58710 > 10.10.10.10.ssh: S 2851123862:2851123862(0) win     5840 <mss 1460,sackOK,timestamp 597224955 0,nop,wscale 6>
08:05:16.776264 IP 10.10.10.10.ssh > 172.17.4.6.58710: S 658436853:658436853(0) ack 2851123863 win 5792 <mss 1366,sackOK,timestamp 296951268 597224955,nop,wscale 5>
08:05:20.986415 IP 10.10.10.10.ssh > 172.17.4.6.58710: S 658436853:658436853(0) ack 2851123863 win 5792 <mss 1366,sackOK,timestamp 296952321 597224955,nop,wscale 5>
08:05:26.985854 IP 10.10.10.10.ssh > 172.17.4.6.58710: S 658436853:658436853(0) ack 2851123863 win 5792 <mss 1366,sackOK,timestamp 296953821 597224955,nop,wscale 5>

Кажется, что пакеты с сервера не направляются обратно клиенту.

Ну, это не проблема iptables. Проблема заключалась в том, что я использую m0n0wall в качестве маршрутизатора и настраиваю маршруты через m0n0wall. Поскольку m0n0wall проталкивает эти маршруты через брандмауэр, необходимо включить правило «Обход правил брандмауэра для трафика на одном интерфейсе», чтобы m0n0wall не останавливал пакеты.

Проблема была очень похожа на: http://forum.m0n0.ch/index.php?topic=381.0