Я хочу такое поведение:
Все внешние компьютеры могут подключаться только к портам моего сервера 22(ssh), 80(http) и 443(https).
Однако все локальные приложения могут подключаться к любому порту по своему усмотрению.
Я поискал и вот что мне выдало:
iptables -A INPUT -p tcp -m tcp -m multiport ! --dports 22,80,443 -j DROP
Он делает то, что я хочу, но также блокирует все приложения localhost. Что мне нужно изменить, чтобы разрешить привязку приложений localhost к любому порту?
И как мне тогда сделать правило постоянным?
Спасибо!
решение1
Правила сопоставляются по порядку. Сделайте одно, разрешающее localhost, перед тем, которое запрещает.
iptables -A ВХОД -p tcp -s localhost -m tcp -m multiport ! --dports 22,80,443 -j ПРИНЯТЬ
iptables -A ВХОД -p tcp -m tcp -m multiport ! --dports 22,80,443 -j ОТБРОС
О том, как их сохранить в зависимости от вашей ОС, читайте здесь. https://www.thomas-krenn.com/en/wiki/Saving_Iptables_Firewall_Rules_Permanently