[Comm] HELP! Проброс портов через файрволл с политикой DROP

Alexey Morsov =?iso-8859-1?q?samurai_=CE=C1_ricom=2Eru?=
Пт Сен 3 11:25:34 MSD 2004


Maxim.Savrilov на socenter.ru wrote:
>>Я правильно понял - надо чтобы кто-то из интернета (внешней сети) 
>>  мог подключаться (т.е. инициировать соединение) к некой вашей 
>>машине в локальной сетке (т.е. в фейковом пространстве адресов)?
> 
> 
> Да, все так и есть.
Э... у меня нет уверенности что такое реализуемо (может я и не 
прав - но тогда это должно как-то решаться в nat)

> А так понимаю, что если я не указываю конкретный ip, то там ставится 0.0.0.0/0, т.е. все адреса
Угу

> 
> вот тут мой iptables. Все правила для проброса добавляю пока вручную в шелле,
> поэтому их тут нет
> 
> Правил дофига, брал из какого-то скрипта, пробегавшего в этой же рассылке.
> 
> # Generated by iptables-save v1.2.7a on Thu Sep  2 15:28:28 2004
> *nat
Ненавижу iptables-save - читать невозможно :(

> *filter
> :INPUT DROP [8300:251386]
> :FORWARD DROP [54:10868]
Это ясно
> :OUTPUT DROP [3:368]
А вот это не очень - зачем?

> [12422273:3856342276] -A INPUT -i lo -j ACCEPT 
> [154335439:91451482717] -A INPUT -s 192.168.0.0/255.255.255.0 -i $INT_IF -j ACCEPT 
> [201144:20771089] -A INPUT -s 192.168.0.0/255.255.255.0 -i ppp1 -j ACCEPT 
> [0:0] -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,PSH,ACK,URG -j DROP 
> [4:192] -A INPUT -i $EXT_IF -p tcp -m tcp --dport 3306 -j DROP 
> [0:0] -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP 
> [588:31288] -A INPUT -i $EXT_IF -p tcp -m tcp --dport 8080 -j DROP 
> [1022:48296] -A INPUT -i $EXT_IF -p tcp -m tcp --dport 80 -j DROP 
> [0:0] -A INPUT -s $EXT_IP -j DROP 
> [0:0] -A INPUT -s 10.0.0.0/255.0.0.0 -j DROP 
> [0:0] -A INPUT -s 172.16.0.0/255.240.0.0 -j DROP 
> [0:0] -A INPUT -s 255.255.255.255 -j DROP 
Вот эти drop на кой - у вас же вся цепочка в drop?
Ваша INPUT меня просто ужасает - как вы в ней чего разбираете?
И чего у вас такого на роутере стоит что ему столько правил в 
INPUT надо?

> [0:0] -A FORWARD -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,PSH,ACK,URG -j DROP 
> [0:0] -A FORWARD -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP 
> [0:0] -A FORWARD -s ! 192.168.0.0/255.255.255.0 -i $INT_IF -j DROP 
> [0:0] -A FORWARD -s ! 192.168.0.0/255.255.255.0 -i ppp1 -j DROP 
> [2673053:1796453766] -A FORWARD -s 192.168.0.0/255.255.255.0 -i $INT_IF -m state --state NEW,ESTABLISHED -j ACCEPT 
> [211835:29932313] -A FORWARD -s 192.168.0.0/255.255.255.0 -i ppp1 -m state --state NEW,ESTABLISHED -j ACCEPT 
> [73857:98151633] -A FORWARD -s ! 192.168.0.0/255.255.255.0 -i $EXT_IF -m state --state RELATED,ESTABLISHED -j ACCEPT 
> [33:1716] -A FORWARD -i $EXT_IF -m state --state INVALID,NEW -j REJECT --reject-with icmp-port-unreachable 

OUTPUT тоже не нужен... В вашей задаче пакеты транзитные - 
соответственно фильтр на FORWARD...

А client куда будет посулать запросы то? на какой адрес? На ваш 
реальный ip? Если да - и если с этого ip ничего больше ходить не 
может (а еще лучше если у них какой-то свой порт) - то тогда 
точно в nat - анализировать порт и source ip и менять его dest ip 
с вашего реального на тот ваш fake ip который нужен - кажеться 
это в iptables doc называеться DNAT - см. opennet.ru - я таким 
извратом к счастью не занимался так что только теория (у меня 
слава богу никаких несуразных просьб ходить ко мне в локалку из 
инета не поступало).



-- 
Всего наилучшего,
Системный Администратор ЗАО "ИК "РИКОМ-ТРАСТ"
Алексей Морсов
ICQ: 196766290
Jabber: Samurai на jabber.ru
http://www.ricom.ru
http://www.fondmarket.ru



Подробная информация о списке рассылки community