PDA

View Full Version : Помогите разобраться с пробросом порта


Alexx_B
07-08-2008, 13:03
Wl500gP, прошивка 1.9.2.7-10
Установлен OpenVPN. Когда-то была необходимость пробрасывать rAdmin-овский порт 4899 через роутер на комп. Но хитро, чтобы это возможно было только через OpenVPN (какая-никакая,а защита компа). Так что через веб-оболочку не подходит
поэтому я добавил в post-firewall правило
iptables -t nat -A PREROUTING -p tcp -s 10.8.0.1/24 --dport 4899 -j DNAT --to-destination 10.100.1.5:4899

было это давно и все работало, потом необходимость отпала, так что когда работать перестало я не знаю, но сейчас не работает. С роутером за это время разве что обновление прошивки происходило..

команда та же, пакеты улавливаются
tcpdump -i tun0 -v
tcpdump: listening on tun0, link-type LINUX_SLL (Linux cooked), capture size 68 bytes
14:54:16.637974 IP (tos 0x0, ttl 128, id 9327, offset 0, flags [DF], length: 4 10.8.0.2.3124 > 10.8.0.1.4899: S [tcp sum ok] 3727616767:3727616767(0) win 16384 <mss 1260,nop,nop,sackOK>
14:54:19.553936 IP (tos 0x0, ttl 128, id 9350, offset 0, flags [DF], length: 4 10.8.0.2.3124 > 10.8.0.1.4899: S [tcp sum ok] 3727616767:3727616767(0) win 16384 <mss 1260,nop,nop,sackOK>
14:54:25.487031 IP (tos 0x0, ttl 128, id 9394, offset 0, flags [DF], length: 4 10.8.0.2.3124 > 10.8.0.1.4899: S [tcp sum ok] 3727616767:3727616767(0) win 16384 <mss 1260,nop,nop,sackOK>

3 packets captured
3 packets received by filter
0 packets dropped by kernel

ну и вот
iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DNAT tcp -- anywhere anywhere tcp dpt:5190 to:10.100.1.1:5190
VSERVER all -- anywhere 10.72.8.41
NETMAP udp -- anywhere 10.72.8.41 udp spt:6112 10.100.1.0/24
DNAT tcp -- 10.8.0.0/24 anywhere tcp dpt:4899 to:10.100.1.5:4899


В чем я накосячил?

BORODA(C)
08-08-2008, 07:01
У меня похожая ситуация (http://wl500g.info/showthread.php?t=13761). Отключил проброс отдельных портов, но оставил NAT для единственного компа в обе стороны. Проблема ушла. Что делать когда приедет с дачи второй комп - пока не представляю.

Alexx_B
08-08-2008, 09:10
боюсь что это мне не подходит..:( у меня используются регулярно 2 компа, в идеале надо пробросить порты и для того и для другого, но я думаю когда один заработает - второй тоже настроится легко.. не могу поянть - ведь работало же все...

колбаскин
08-08-2008, 20:35
вот и у меня таже проблема...порты просто не пробрасываются....

vectorm
09-08-2008, 17:58
вот и у меня таже проблема...порты просто не пробрасываются....
А ручной проброс разве не работает?
Например так:
iptables -A INPUT -p tcp -m tcp -d $I --dport $P -j ACCEPT

Где $I - нужный внутренний IP адрес, $P - нужный порт.
Не могут порты не пробрасываться - либо Вы не так делаете, либо не тем смотрите.

колбаскин
09-08-2008, 20:58
А ручной проброс разве не работает?
Например так:
iptables -A INPUT -p tcp -m tcp -d $I --dport $P -j ACCEPT

Где $I - нужный внутренний IP адрес, $P - нужный порт.
Не могут порты не пробрасываться - либо Вы не так делаете, либо не тем смотрите.

отдельное спасибо за инструкцию на вашем роутере!

но порт проброшен - программа работает - но при передачи мне файла по netspeaker(это голосовой чат) передача сразу же сбрасывается и мне не могут передавать звук! вообщем на входящее соединение у меня проблема...

vectorm
09-08-2008, 21:45
отдельное спасибо за инструкцию на вашем роутере!

но порт проброшен - программа работает - но при передачи мне файла по netspeaker(это голосовой чат) передача сразу же сбрасывается и мне не могут передавать звук! вообщем на входящее соединение у меня проблема...
Тогда надо разбираться с тем, куда пакеты пытаются приходить и заворачивать их куда нужно.
Возможно помогут PREROUTING/POSTROUTING в iptables.

колбаскин
09-08-2008, 23:09
Вот пробовал но увы...


iptables -t nat -I PREROUTING -i eth1 -d 91.195.184.10 -p tcp --dport 8765 -j DNAT --to-destination 192.168.0.2:8765
iptables -I FORWARD -i eth1 -p tcp -m tcp -d 192.168.0.2 --dport 8765 -j ACCEPT
iptables -I FORWARD -p tcp -m tcp -s 192.168.0.2 --sport 8765 -j ACCEPT
iptables -t nat -I POSTROUTING -p tcp -o eth1 -s 192.168.0.2 --sport 8765 -j SNAT --to-source 91.195.184.10:8765

iptables -t nat -I PREROUTING -i eth1 -d 91.195.184.10 -p tcp --dport 8772 -j DNAT --to-destination 192.168.0.2:8772
iptables -I FORWARD -i eth1 -p tcp -m tcp -d 192.168.0.2 --dport 8772 -j ACCEPT
iptables -I FORWARD -p tcp -m tcp -s 192.168.0.2 --sport 8772 -j ACCEPT
iptables -t nat -I POSTROUTING -p tcp -o eth1 -s 192.168.0.2 --sport 8772 -j SNAT --to-source 91.195.184.10:8772



все также файлы и звук не принимает!
если сетевой кабель включить прямо в компьютер - то все нормально!

vectorm
10-08-2008, 10:55
Вот пробовал но увы...


iptables -t nat -I PREROUTING -i eth1 -d 91.195.184.10 -p tcp --dport 8765 -j DNAT --to-destination 192.168.0.2:8765
iptables -I FORWARD -i eth1 -p tcp -m tcp -d 192.168.0.2 --dport 8765 -j ACCEPT
iptables -I FORWARD -p tcp -m tcp -s 192.168.0.2 --sport 8765 -j ACCEPT
iptables -t nat -I POSTROUTING -p tcp -o eth1 -s 192.168.0.2 --sport 8765 -j SNAT --to-source 91.195.184.10:8765

iptables -t nat -I PREROUTING -i eth1 -d 91.195.184.10 -p tcp --dport 8772 -j DNAT --to-destination 192.168.0.2:8772
iptables -I FORWARD -i eth1 -p tcp -m tcp -d 192.168.0.2 --dport 8772 -j ACCEPT
iptables -I FORWARD -p tcp -m tcp -s 192.168.0.2 --sport 8772 -j ACCEPT
iptables -t nat -I POSTROUTING -p tcp -o eth1 -s 192.168.0.2 --sport 8772 -j SNAT --to-source 91.195.184.10:8772



все также файлы и звук не принимает!
если сетевой кабель включить прямо в компьютер - то все нормально!
Тогда значит пропускной способности Wi-Fi не хватает

Alexx_B
10-08-2008, 12:34
А ручной проброс разве не работает?
Например так:
iptables -A INPUT -p tcp -m tcp -d $I --dport $P -j ACCEPT

не работает, но tcpdump-ом ловится иначе
на каждый S приходит ответ R (те. порт получается закрыт)

post-firewall:
#!/bin/sh
iptables -I INPUT -p tcp --dport 22 -j ACCEPT
iptables -I INPUT -p tcp --dport 21 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -s 10.8.0.1/24 --dport 4899 -j DNAT --to-destination 10.100.1.5:4899
iptables -D INPUT -j DROP
iptables -I INPUT -p tcp --dport 5190 -j ACCEPT
iptables -t nat -I PREROUTING -i eth1 -p tcp --dport 5190 -j DNAT --to-destination $4:5190
iptables -A INPUT -j DROP
iptables -I INPUT -i tun0 -j ACCEPT
iptables -I FORWARD -i tun0 -j ACCEPT
iptables -I FORWARD -o tun0 -j ACCEPT
iptables -I OUTPUT -o tun0 -j ACCEPT

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

колбаскин
10-08-2008, 12:54
Тогда значит пропускной способности Wi-Fi не хватает

это как... я подозревал что пакеты не туда идут и поэтому сбрасывается соединение...
я же нормально могу передавать звук и файлы,а вот мне не могут... если бы вообще не работало - я бы согласился....