на досуге почитал ваш материал и вот что получил. Скрипт, хотел узнать правильно ли меня поймет iptables?
#!/bin/bash
IPT="/sbin/iptables"
$IPT -F
$IPT -X
$IPT -P INPUT DROP
$IPT -P FORWARD DROP
$IPT -P OUTPUT DROP
TCP_PORTS="22,80,443"
UDP_PORTS="22,80,443"
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT
$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPT -A INPUT -p tcp -m multiport --dport $TCP_PORTS -j ACCEPT
$IPT -A INPUT -p udp -m multiport --dport $UDP_PORTS -j ACCEPT
Скрипт удаляет все цепочки и правила, блокирует все входящие изходящие и транзитные пакеты, ну и открывает те порты которые указаны в переменной $TCP PORTS=""
При загрузке скрипта вышло iptables v1.4.18: invalid port/service `-j' specified
Try `iptables -h' or 'iptables --help' for more information.
Но тем не менее правила применились. Вот содержимое iptables -L -v
Chain INPUT (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
2 202 ACCEPT all -- lo any anywhere anywhere
8 1754 ACCEPT all -- any any anywhere anywhere state RELATED,ESTABLISHED
0 0 ACCEPT tcp -- any any anywhere anywhere multiport dports ssh,http,https
Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
2 202 ACCEPT all -- any lo anywhere anywhere
9 2052 ACCEPT all -- any any anywhere anywhere state NEW,RELATED,ESTABLISHED
Только вот не могу понять, правилен ли скрипт? не очень читабелен вывод iptables -L -v