PDA

Bekijk de volledige versie : Вопрос о функционировании VSERVER



alxndrv
03-01-2008, 01:32
На закладке Virtual Server установки для торрент клиентов:

вне-порт ip вну-порт прото
65534 192.168.24.1 65534 BOTH
48499 192.168.24.21 48499 BOTH

24.1 - роутер, 24.21 - комп
установки работают - с обоих устройств качают (пиры WAN)

добавляю установки для ssh и веб-интерфеса клиента торрент (которые оба из вну сети откликаются)
8008 192.168.24.1 8008 tcp
2222 192.168.24.1 22 tcp

установки не работают - из WAN соединения не устанавливаются.

iptables вручную не менял, пока не было необходимости
Много чего перепробовал, вот уже 3 часа ночи:)
Включил лог отброшенных пакетов (Logged packets type: DROP)
Там много подобных записей:

Jan 3 02:30:19 kernel: DROP IN=vlan1 OUT= MAC=00:19:a6:2a:ed:2f:00:01:96:3b:4f:
54:08:00:45:00:00:30 SRC=XXX.XXX.200.150 DST=192.168.24.1 LEN=48 TOS=0x00 PREC=0x
00 TTL=118 ID=57919 DF PROTO=TCP SPT=4669 DPT=8008 SEQ=3210699537 ACK=0 WINDOW=1
6384 RES=0x0
где XXX.XXX.200.150 - внешний IP, с которого пытаюсь подключиться,
то есть получается, что роутер уже транслировал свой внешний ip во внутренний, после чего пакет был отброшен
(то же с другим портом - 2222)

1)Где отбрасываются эти пакеты?
2)Почему аналогичные настройки для torrent работают?

alxndrv
04-01-2008, 00:15
Ну объясните мне плиз, снизойдите, почему VSERVER пакеты проходят, а на INPUT режутся, причем это верно не для всех портов???

Ilmarinen
04-01-2008, 07:55
Ну объясните мне плиз, снизойдите, почему VSERVER пакеты проходят, а на INPUT режутся, причем это верно не для всех портов???
Потому что цепочка VSERVER делает только DNAT в соответствии с указанными в WEB-интерфейсе настройками, в цепочке FORWARD есть правило
-A FORWARD -m conntrack --ctstate DNAT -j ACCEPT которое пропускает внутрь сети трафик подвергшийся указанному в VSERVER преобразованию. В цепочке INPUT такого правила (на сколько я могу судить по умолчальным правилам) трафик пришедший с WAN-порта ни под одно разрешающее правило не попадает.
И скорее всего через WEB-интерфейс сделать этого нельзя (там есть только "Port of Web Access from WAN"). Чтобы пропустить трафик с WAN на роутер достаточно добавить в INPUT правило (в post-firewall)

iptables -I INPUT 1 -i $1 -d $2 -p tcp -m mport --dport 22,8008 -j ACCEPT$1 будет соответствовать имени WAN-интерфейса, а $2 -- IP-адресу на WAN.
Кроме того, для редиректа с 2222 на 22 нужно добавить правило

iptables -t nat -A PREROUTING -p tcp --dport 2222 -j REDIRECT --to-ports 22