непонятная проблема с файерволом стоящим в d-link dsl-504t
не могу открыть порты на вход:-(# iptables -t filter -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
DROP all -- anywhere anywhereChain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT tcp -- anywhere 192.168.1.37 tcp dpt:443
ACCEPT tcp -- anywhere 192.168.1.37 tcp dpt:www
ACCEPT tcp -- anywhere 192.168.1.37 tcp dpt:ftp
TCPMSS tcp -- anywhere anywhere tcp flags:SYN,RST/SYN TCPMSS set 1360
DROP all -- anywhere anywhereChain OUTPUT (policy ACCEPT)
target prot opt source destination
DROP icmp -- anywhere anywhere icmp destination-unreachable
DROP icmp -- anywhere anywhere state INVALID
# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DNAT tcp -- anywhere anywhere tcp dpt:443 to:192.168.1.37:443
DNAT tcp -- anywhere anywhere tcp dpt:www to:192.168.1.37:80
DNAT tcp -- anywhere anywhere tcp dpt:ftp to:192.168.1.37:21Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- anywhere anywhereChain OUTPUT (policy ACCEPT)
target prot opt source destination
#
вроде прописывает он через вебинтерфейс все верно,
а на 37 пакеты из инета не приходят,
т.е. те, которые отправляются на 80 или 21 порт
реального внешнего ip
(да на 37 все настроено и в локалке видно)в чем может быть проблема?
Не совсем понятно, что именно надо, и не видно топологии. Предполагается, что внутри сетка 192.168.1/24, внешний интерфейс с "белым" адресом, требуется проброс снаружи внутрь трафика на 80 и 21 порты?Если угадал верно, то - вспоминаем, как обычно, что таблица nat переписывает пакеты, но никак не соотносится с разрешением их пропускать/не пропускать. Для разрешений служит -t filter, а в ней в Chain INPUT нет разрешения для этих пакетов.
Еще 5 копеек: policy ACCEPT - вещь на любителя. Лучше бы сделать -P DROP, а перед правилами -j DROP вставить правило -j LOG, на нем будет видно, что доходит до этого правила и будет вырезано следующим DROP.
>разрешений служит -t filter, а в ней в Chain INPUT нет
Совершенно верно про полиси -- только в данном случае -t filter, а в ней в Chain FORWARD
Если я правильно ошибаюсь, то сначала соединение образуется на внешний порт роутера, для него это - INPUT. И только потом работает DNAT, FORWARD и пр.
Или я не понял топологии.
да я и не спорю, естественно сначало инпут, просто с данном случае у человека обычный нат, а в инпуте в данном случае обычно динамическое правило -m conntrack --ctstate RELATED,ESTABLISHED