#!/bin/bash FW="/sbin/iptables" #INET_IFACE="eth0" # здесь имя инетовского интерфейса LAN_IP="10.0.0.10" LAN_IP_RANGE="10.0.0.0/24" LAN_IFACE="eth1" # интерефейс локальной сети BROADCAST_NET="0.0.0.0/32" LO_IFACE="lo" LO_IP="127.0.0.1" # Очистка всех цепочек iptables ${FW} -F ${FW} -X ${FW} -Z # Политики для трафика, не соответствующего ни одному правилу ${FW} -P INPUT DROP ${FW} -P FORWARD DROP ${FW} -P OUTPUT ACCEPT # Разрешаем Ping ${FW} -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT ${FW} -A INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT ${FW} -A INPUT -p icmp --icmp-type time-exceeded -j ACCEPT ${FW} -A INPUT -p icmp --icmp-type echo-request -j ACCEPT # Прочие настройки ${FW} -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT ${FW} -A INPUT -i lo -j ACCEPT ${FW} -A INPUT -p icmp --icmp-type 3 -j ACCEPT ${FW} -A INPUT -p icmp --icmp-type 11 -j ACCEPT ${FW} -A INPUT -p icmp --icmp-type 12 -j ACCEPT ${FW} -A INPUT -p tcp --syn --dport 113 -j REJECT --reject-with tcp-reset # Доступ по ssh ${FW} -A INPUT -p TCP --dport 22 -j ACCEPT # dhcp ${FW} -A INPUT -s ${BROADCAST_NET} -p udp -m udp --dport 67 -j ACCEPT ${FW} -A INPUT -s ${LAN_IP_RANGE} -p udp -m udp --dport 67 -j ACCEPT # Доступ dns ${FW} -A INPUT -p udp --dport 53 -j ACCEPT ${FW} -A INPUT -p tcp --dport 53 -j ACCEPT # Доступ tftp ${FW} -A INPUT -p udp --dport tftp -j ACCEPT ${FW} -A INPUT -p tcp --dport tftp -j ACCEPT # Доступ к webserver по http и https ${FW} -A INPUT -p TCP --dport 80 -j ACCEPT ${FW} -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