LINUX.ORG.RU
ФорумAdmin

iptables - доступ на один порт


0

1

Это правило запрещает доступ ко всем портам в цепочке INPUT:

iptables -A INPUT -i $lan -s 192.168.0.129 -j DROP
Вопрос как разрешить доступ только к одному порту для адреса, скажем 192.168.0.129?


man iptables. Разрешить это ″-j ACCEPT″. Порт можно указывать только вместе с протоколом (-p tcp или -p udp).

Сначала одним правилом разрешаете доступ к нужному порту, потом следующим правилом запрещаете доступ к остальным портам.

mky ★★★★★
()
Ответ на: комментарий от mky

Есть что-то типа этого:

iptables -A INPUT -i $lan -s 192.168.0.129 -p tcp --!dport 3128  -j DROP

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

OEvg85
() автор топика
Ответ на: комментарий от OEvg85

Если вам нужно разрешить порт 3128, то -j ACCEPT и без "!".

Если вам нужно запретить всё кроме одного порта, для заданного ip-адреса, то воскл. знак нужно ставить между dport и числом и лучше в одинарных кавычках, чтобы его не «съел» bash.

mky ★★★★★
()
Ответ на: Спасибо за совет от OEvg85

Обычно ставят политику по-умолчанию DROP и затем разрешают отдельные вещи

iptables -P INPUT DROP
iptables -A INPUT -i $lan -s $IP_ADDR  --dport 3128 -j ACCEPT
sdio ★★★★★
()
Ответ на: комментарий от sdio

Вот интересно.

Настраивал по подобному мануалу. Однако, после

iptables -P INPUT DROP
Работать не хотело. Может я и ошибаюсь, но вроде как, для iptables важен порядок правил и запрет имеет более высокий приоритет, чем разрешение, посему, я сперва разрешаю кому надо, потом - запрещаю. Пока работает. Если сморозил чушь, поправьте, пожалуйста (если не сложно, носом в стрчку мануала тыкнете).

OEvg85
() автор топика

Добавьте перед этим правилом другое, разрешающее доступ на нужный порт. Очевидно же.

no-such-file ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.