Настройка iptables

Настройка iptables

Настройка на один сетевой интерфей. Просто ради интереса.
Рассмотрим настройку iptables Ubuntu

Создадим файл вида my-tables

nano my-tables
#==============================
#!/bin/bash
#==========================================================
# Настройка IPTABLES
#==========================================================

#==========================================================
# Подключаемые модули
#==========================================================
modprobe ip_conntrack_ftp

#==========================================================
# Сетевый интерфейсы
#==========================================================
LAN="eth1"
LO="lo"

#==========================================================
# Путь к таблицам
#==========================================================
IPTABLES="/sbin/iptables"

#==========================================================
# Список портов
#==========================================================
FTP="21"	# VSFTPD
SSH="22"	# OPENSSH

#==========================================================
# Зачистка пользовательских цепочек
#==========================================================
$IPTABLES --delete-chain

#==========================================================
# Зачистка таблиц
#==========================================================
$IPTABLES --table filter --flush
$IPTABLES --table mangle --flush
$IPTABLES --table nat    --flush
$IPTABLES --flush

#==========================================================
# Базовая расстановка правил
# Запрещаем весь вход
# Запрещаем весь выход
# Запрещаем форвард
#==========================================================
$IPTABLES --policy INPUT   DROP 	#ACCEPT
$IPTABLES --policy OUTPUT  DROP 	#ACCEPT
$IPTABLES --policy FORWARD DROP 	#ACCEPT

#==========================================================
# Разрешаем установившиеся соединения
#==========================================================
$IPTABLES -A INPUT -i $LAN -p all -m state --state ESTABLISHED,RELATED -j ACCEPT

#==========================================================
# Разрешаем выход пакетов
#==========================================================
$IPTABLES -A OUTPUT -o $LAN -j ACCEPT

#==========================================================
# Разрешаем локальную петлю
#==========================================================
$IPTABLES -A OUTPUT -o $LO -j ACCEPT
$IPTABLES -A INPUT  -i $LO -j ACCEPT

#==========================================================
# Разрешаем входящие подключения
#==========================================================
#
# Заросы DHCP
#==========================================================
$IPTABLES -A INPUT -p UDP -i $LAN --dport 67 --sport 68 -j ACCEPT
#
# Заросы FTP
#==========================================================
$IPTABLES -A INPUT -p TCP -i $LAN --dport $FTP -j ACCEPT
#
# Заросы SSH
#==========================================================
$IPTABLES -A INPUT -p TCP -i $LAN --dport $SSH -j ACCEPT
#
# Заросы ICMP
#==========================================================
$IPTABLES -A INPUT -p icmp -i $LAN --icmp-type any -j ACCEPT
#===================================================================

Сделаем его исполняемым и выполним

chmod a+x my-tables
./my-tables

Посмотрим что у нас вышло

sudo iptables -L -n -v

Забросим файл в автозагрузку

sudo mv my-tables /etc/init.d
sudo update-rc.d my-tables defaults

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *