#!/bin/bash #INET_IFACE="eth0" # здесь имя инетовского интерфейса LAN_IP="10.0.0.10" LAN_IP_RANGE="10.0.0.0/24" LAN_IFACE="eth1" # интерефейс локальной сети LO_IFACE="lo" LO_IP="127.0.0.1" # Очистка всех цепочек iptables iptables -F iptables -X iptables -Z # Политики для трафика, не соответствующего ни одному правилу iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT # Разрешаем Ping iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT iptables -A INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT iptables -A INPUT -p icmp --icmp-type time-exceeded -j ACCEPT iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT # Прочие настройки iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -p icmp --icmp-type 3 -j ACCEPT iptables -A INPUT -p icmp --icmp-type 11 -j ACCEPT iptables -A INPUT -p icmp --icmp-type 12 -j ACCEPT iptables -A INPUT -p tcp --syn --dport 113 -j REJECT --reject-with tcp-reset # Доступ по ssh iptables -A INPUT -p TCP --dport 22 -j ACCEPT # dhcp iptables -I INPUT -i $LAN_IFACE -p udp --dport 67:68 --sport 67:68 -j ACCEPT iptables -A INPUT -s $LAN_IP_RANGE -p udp -m udp --dport 67 -j ACCEPT # Доступ dns iptables -A INPUT -p udp --dport 53 -j ACCEPT iptables -A INPUT -p tcp --dport 53 -j ACCEPT # Доступ tftp iptables -A INPUT -p udp --dport tftp -j ACCEPT iptables -A INPUT -p tcp --dport tftp -j ACCEPT # Доступ к webserver по http и https iptables -A INPUT -p TCP --dport 80 -j ACCEPT iptables -A INPUT -p TCP --dport 443 -j ACCEPT # for licence ${FW} -t nat -A POSTROUTING -o ${LAN_IFACE} -s ${LAN_IP_RANGE} -d ${DEST_IP} -j SNAT --to-source ${LAN_IP} ${FW} -A FORWARD -s ${LAN_IP_RANGE} -d ${DEST_IP} -j ACCEPT ${FW} -A FORWARD -s ${DEST_IP} -d ${LAN_IP_RANGE} -j ACCEPT #Сохраняем правила # Calculate/Gentoo хранит в /var/lib/iptables/rules-save rc-service iptables save