В настоящее время у меня есть приложение, работающее на 8080 через mod_proxy.
<Location /hudson>
Order allow,deny
Allow from all
ProxyPass http://localhost:8080/hudson
ProxyPassReverse http://localhost:8080/hudson
</Location>
Мне нужно заблокировать TCP 8080, но не для локального хоста, как это можно сделать с помощью IPtables?
Это сработает:
iptables -A INPUT ! -s 127.0.0.1 -p tcp -m tcp --dport 8080 -j DROP
Вы можете попробовать следующее:
// accept all tcp on port 8080 from localhost
iptables -I INPUT 1 -i lo -p tcp --dport 8080 -j ACCEPT
[...] all your other rules
// drop all other packets
iptables -A INPUT -j DROP
Если вы хотите разрешить также 1 (или более) внешний / другой IP-адрес, вы можете использовать это:
// accept tcp on port 8080 from allowed_ip
iptables -I INPUT 3 -i eth0 -p tcp --dport 8080 -s allowed_ip -j ACCEPT
Сообщите мне, как это происходит :)
Другой подход: при прослушивании сервера 8080 привязка только к localhost: для apache это выглядит следующим образом:
Listen 127.0.0.1:8080
<VirtualHost 127.0.0.1:8080>
...
</VirtualHost>