#!/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