В ваших правилах нет ничего, что могло бы отбрасывать пакеты. Вы можете сделать это, установив политику по умолчанию для цепочки INPUT
на DROP
. По умолчанию это ПРИНЯТЬ
:
iptables -P INPUT DROP
По мере того, как вы это делаете, вы можете начать замечать, что ваши исходящие соединения больше не работают.
Вы можете добавить правила в верхней части INPUT
цепочка к ПРИНЯТЬ
уже установленный трафик обратно.
Сделайте это, используя следующее:
iptables -A INPUT -m state --state ESTABLISHED,RELATED
Часть RELATED
пропускает другой связанный трафик (например, пакеты ICMP отправлено в результате чего-то происходящего в УСТАНОВЛЕННОМ
соединении)
Есть ли у вас несколько сетевых адаптеров на сервере или нет? Вы можете заблокировать это таким образом. Вы также можете легко заблокировать его исходными IP-адресами, чтобы вы могли разрешить только правила «INPUT» для этих портов с определенных IP-адресов и только все правила «FORWARD» или «PREROUTING» от других.
Мне лучше создать новую цепочку, а затем добавить свои правила в эту цепочку. Вы можете сделать это: First DROP incoming/forwarding/outgoing traffic
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
Then create a chain with judgment ACCEPT and add rules inside:
iptables -N myrules # Create a new chain
iptables -A myrules -m state --state ESTABLISHED,RELATED
iptables -A myrules -j LOG --log-prefix="Myrules: " # Just a log prefix
iptables -A myrules -j ACCEPT # Packets matching this rule will be ACCEPTed
iptables -A INPUT -i eth0 -p tcp --dport 22 -j myrules
Then, add the redirect rules:
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 8181