Полный доступ для WHITELIST и только избранные порты для остальных.
#!/usr/bin/env bash iptables="echo /sbin/iptables" WHITELIST=( 10.0.0.0/8 ) TCP_PORTS=( 22 1514 1515 1516 55000 5601 ) UDP_PORTS=( 1514 ) TCP=${TCP_PORTS[@]} UDP=${UDP_PORTS[@]} #### START #### # flushing firewall $iptables -F $iptables -X # allow $iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # allow loopback $iptables -A INPUT -s 127.0.0.1 -j ACCEPT # allow smtp, http $iptables -A INPUT -p tcp -m multiport --dports ${TCP// /,} -j ACCEPT $iptables -A INPUT -p udp -m multiport --dports ${UDP// /,} -j ACCEPT # start whitelisting for i in ${WHITELIST[@]}; do $iptables -A INPUT -s $i -j ACCEPT done # block other $iptables -A INPUT -j DROP