1

Я использую OpenWrt на своем маршрутизаторе, что позволяет мне запускать такие приложения, как apache и emule. Я установил emule, но я продолжаю получать lowid, указывая, что мой порт неправильно настроен. Я смог решить эту проблему с помощью SSHing в мой маршрутизатор и редактирование iptables. Моя таблица INPUT изначально выглядела так ...

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
DROP       all  --  anywhere             anywhere            state INVALID 
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED 
ACCEPT     all  --  anywhere             anywhere            
syn_flood  tcp  --  anywhere             anywhere            tcp flags:FIN,SYN,RST,ACK/SYN 
input_rule  all  --  anywhere             anywhere            
input      all  --  anywhere             anywhere

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

iptables -I INPUT 2 -p tcp --dport 4662 -j ACCEPT

После этого моя таблица INPUT выглядит так ...

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
DROP       all  --  anywhere             anywhere            state INVALID 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:4662 
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED 
ACCEPT     all  --  anywhere             anywhere            
syn_flood  tcp  --  anywhere             anywhere            tcp flags:FIN,SYN,RST,ACK/SYN 
input_rule  all  --  anywhere             anywhere            
input      all  --  anywhere             anywhere

Обратите внимание на позицию. Если я попытаюсь сделать это 1-м или 2-м правилом в цепочке, это даст мне высокую оценку. Если я пойду куда-нибудь ниже этого (правила 3-6), я все равно получу слабость. Я очень мало знаю о iptables, но я понимаю, что правила в цепочке INPUT проверяются по порядку. Из того, что я вижу, мое правило работает, когда проверено до или после того, как все недопустимые пакеты отброшены.

Я не понимаю, почему он не работает после принятия всех связанных или установленных пакетов. Может кто-нибудь объяснить мне, почему это правило работает на позиции 1 или 2, но не на других?

1 ответ1

0

Оно не работает под правилом «state RELATED, ESTABLISHED», потому что оно разрешает только входящие пакеты, которые связаны с существующими соединениями; поскольку у вас нет открытых портов кроме 4662, такие пакеты могут отправляться только с хостов, к которым вы открыли исходящее соединение.

Правило порта 4662 прекрасно там, где оно есть и в нужном месте, но если вы действительно хотите, чтобы оно работало в любом месте цепочки, добавьте '-m state --state NEW' к команде iptables, которую вы используете для его создания; это будет явно указывать, что входящие пакеты запроса соединения должны быть приняты на этом порту.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .