Я хочу, щоб iptables фільтрувала лише один інтерфейс, eth0, який стоїть перед WAN. Як це можна зробити? І я хочу тримати порти ftp та ssh відкритими на eth0.
Я хочу, щоб iptables фільтрувала лише один інтерфейс, eth0, який стоїть перед WAN. Як це можна зробити? І я хочу тримати порти ftp та ssh відкритими на eth0.
Відповіді:
Отже, для всіх інтерфейсів, окрім одного, ви хочете прийняти весь трафік, а на eth0 ви хочете скинути весь вхідний трафік, крім ftp та ssh.
По-перше, ми могли встановити політику прийому всього трафіку за замовчуванням.
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
Тоді ми можемо скинути правила брандмауера.
iptables -F
Тепер ми могли б сказати, що ми хочемо дозволити вхідний трафік на eth0, який є частиною з'єднання, яке ми вже дозволили.
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
Крім того, що ми хочемо дозволити вхідні ssh-з'єднання на eth0.
iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
Але що все інше, що надходить на eth0, слід відмовитися.
iptables -A INPUT -i eth0 -j DROP
Для трохи більшої глибини див. Цей запис у вікі CentOS .
FTP складніше, ніж ssh, оскільки він може використовувати випадковий порт, тому дивіться це попереднє питання .
Щось подібне повинно зробити цю роботу:
iptables -A INPUT -i eth1 -p all -j DROP
iptables -A INPUT -i eth0 -p all -j ACCEPT
ACCEPT
на інших інтерфейсах.
Можливість вказати інтерфейс в правилі Iptables є -i
, наприклад: -i eth0
.
Коли ви робите iptables
правило, це дуже просто, тоді вам потрібно вказати інтерфейс. Можливість вказати локальну карту, на якій iptables
повинна працювати-i
Наступні правила можуть дати вам хороший приклад
iptables -A INPUT -p tcp -i eth0 --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -i eth0 --dport 21 -j ACCEPT
iptables -A INPUT -p tcp -i eth0 -j REJECT --reject-with tcp-reset
Останнє правило - відхилити будь-який інший пакет, який не відповідає першим 2 правилам. Усі правила в iptables
виконуються в заданому порядку, тому правило про відхилення пакетів завжди є останнім.