Стандартный набор правил для пользовательского ПК: # Политики по умолчанию
iptable -P INPUT DROP
iptable -P FORWARD DROP
iptable -P OUTPUT ACCEPT # Разрешить входящие соединения с localhost
iptables -A INPUT -i lo -j ACCEPT # Разрешить установленные входящие соединения
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
Стандартный набор правил для веб сервера на 80 порту и SSH: # Политики по умолчанию
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT # Разрешить входящие соединения с localhost
iptables -A INPUT -i lo -j ACCEPT # Разрешить установленные входящие соединения
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # Разрешить HTTP траффик
iptables -A INPUT -p TCP --dport 80 -j ACCEPT # Разрешить SSH траффик
iptables -A INPUT -p TCP --dport 22 -j ACCEPT
Стандартный набор правил шлюза
1 - Раздаем интернет в локальную сеть при помощи NAT
2 - Разрешаем обращение из локальной сети во вне по HTTP, HTTPS, DNS протоколам
3 - Пробрасываем порт до веб сервера в локальной сети
####################### Основные настройки ####################### # В нешний сетевой интерфейс, смотрящий в сторону интернета
INET_IF="eth0"
# Разрешенный TCP траффик из локальной сети во вне
FORWARD_TCP_PORTS="53,80,443"
# Разрешенный UDP траффик из локальной сети во вне
FORWARD_UDP_PORTS="53"
# IP-адрес веб-сервера в локальной сети
WEB_SERVER="10.0.0.220"
# Путь до sysctl
SYSCTL="/sbin/sysctl -w"
# Включить форвардинг пакетов IPv4 в ядре
if [ "$SYSCTL" = "" ]
then
echo "1" > /proc/sys/net/ipv4/ip_forward
else
$SYSCTL net.ipv4.ip_forward="1"
fi
#####################################################################
####################### Политики по умолчанию #######################
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
#####################################################################
####################### Правила в INPUT ####################### # Разрешить входящие соединения с localhost
iptables -A INPUT -i lo -j ACCEPT
# Разрешить принимать установленные соединения
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Разрешить DNS траффик
iptables -A INPUT -p TCP —dport 53 -j ACCEPT
iptables -A INPUT -p UDP —dport 53 -j ACCEPT
#####################################################################
####################### Правила в FORWARD ####################### # Разрешить установленные пересылаемые соединения
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
# Разрешить из локальной сети ходить во вне по указанным TCP портам
iptables -A FORWARD -p TCP -s $LOCAL_NET -m multiport --dport $FORWARD_TCP_PORTS -j ACCEPT
iptables -A FORWARD -p TCP -d $LOCAL_NET -m multiport --dport $FORWARD_TCP_PORTS -j ACCEPT
# Разрешить из локальной сети ходить во вне по указанным UDP портам
iptables -A FORWARD -p UDP -s $LOCAL_NET -m multiport --dport $FORWARD_UDP_PORTS -j ACCEPT
iptables -A FORWARD -p UDP -d $LOCAL_NET -m multiport --dport $FORWARD_UDP_PORTS -j ACCEPT
#####################################################################
####################### Правила в NAT ####################### # Включить NAT для локальной сети
iptables -t nat -A POSTROUTING -s $LOCAL_NET -o $INET_IF -j SNAT --to-source $INET_IP
# Пробросить порт из вне до веб-сервера в локальной сети
iptables -t nat -A PREROUTING -p TCP -d $INET_IP --dport 80 -j DNAT --to-destination $WEB_SERVER:80
#####################################################################
Все эти правила можно записывать в скрипты, комбинировать, добавлять, изменять
Комментарии пользователей
Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!