(OK) Fedora 23——CORE——docker——(4)——> iptables_core.sh

#!/bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
echo 1 > /proc/sys/net/ipv4/tcp_syncookies

#网卡:上外、下内
#上外  192.168.0.100
#下内  172.16.0.254
#INET_IF="ppp0"
INET_IF="enp13s0"
LAN_IF="b.ctrl0net.6a"
#INET_IP="192.168.0.100"
INET_IP="10.108.162.164"
LAN_IP="172.16.0.254"
LAN_IP_RANGE="172.16.0.0/24"
#LAN_WWW="172.16.0.6"
IPT="/sbin/iptables"
#TC="/sbin/tc"
MODPROBE="/sbin/modprobe"

MODPROBEiptablesMODPROBE iptable_nat
MODPROBEipnatftpMODPROBE ip_nat_irc
MODPROBEiptmarkMODPROBE ip_conntrack
MODPROBEipconntrackftpMODPROBE ip_conntrack_irc
MODPROBEiptMASQUERADEforTABLEinfilternatmangle;doIPT -t TABLEFIPT -t TABLEXIPT -t TABLEZdoneIPT -P INPUT DROP
IPTPOUTPUTACCEPTIPT -P FORWARD DROP
IPTtnatPPREROUTINGACCEPTIPT -t nat -P OUTPUT ACCEPT
IPT -t nat -P POSTROUTING ACCEPT  # 拒绝INTERNET客户访问 #IPT -A INPUT -i INETIFmstatestateRELATED,ESTABLISHEDjACCEPTIPT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
#IPTAINPUTiINET_IF -p tcp -s 123.5.0.0/16 --dport 22 -j ACCEPT
IPTAINPUTptcpdport22jACCEPTIPT -A INPUT -i INETIFmstatestateNEW,INVALIDjDROPforDNSin(grep ^n /etc/resolv.conf|awk '{print 2}'); doIPT -A INPUT -p tcp -s DNSsportdomainjACCEPTIPT -A INPUT -p udp -s DNS --sport domain -j ACCEPT done  # anti bad scaningIPT -A INPUT -i INETIFptcptcpflagsALLFIN,URG,PSHjDROPIPT -A INPUT -i INETIFptcptcpflagsALLALLjDROPIPT -A INPUT -i INETIFptcptcpflagsALLSYN,RST,ACK,FIN,URGjDROPIPT -A INPUT -i INETIFptcptcpflagsALLNONEjDROPIPT -A INPUT -i INETIFptcptcpflagsSYN,RSTSYN,RSTjDROPIPT -A INPUT -i INET_IF -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP  #IPT -t nat -A PREROUTING -d INETIPptcpdport8008jDNATtodestinationLAN_WWW:8008
#IPTtnatAPREROUTINGdINET_IP -p tcp --dport 22 -j DNAT --to-destination LANWWW:22if[INET_IF = "ppp0" ] ; then
IPTtnatAPOSTROUTINGoINET_IF -s LANIPRANGEjMASQUERADEelseIPT -t nat -A POSTROUTING -o INETIFsLAN_IP_RANGE -j SNAT --to-source INET_IP fi  #no limit #IPT -A FORWARD -s 192.168.1.216 -m mac --mac-source 00:15:17:F7:AB:84 -j ACCEPT
#IPT -A FORWARD -d 192.168.1.216 -j ACCEPT  #IPT -A FORWARD -p tcp -d ! LAN_IP_RANGE -m multiport --dports ! 20,21,22,25,53,80,110,443,8080 -j DROP #IPT -A FORWARD -p udp -d ! LAN_IP_RANGE -m multiport --dports ! 20,21,22,25,53,80,110,443,8080 -j DROP  #MAC、IP地址绑定 #IPT -A FORWARD -s 192.168.1.11 -m mac --mac-source 44-87-FC-44-B9-6E -j ACCEPT

IPTAFORWARDs172.16.0.1jACCEPTIPT -A FORWARD -s 172.16.0.2 -j ACCEPT
IPTAFORWARDs172.16.0.3jACCEPTIPT -A FORWARD -s 172.16.0.4 -j ACCEPT
IPTAFORWARDs172.16.0.5jACCEPTIPT -A FORWARD -s 172.16.0.6 -j ACCEPT
IPTAFORWARDs172.16.0.7jACCEPTIPT -A FORWARD -s 172.16.0.8 -j ACCEPT
IPTAFORWARDs172.16.0.9jACCEPTIPT -A FORWARD -s 172.16.0.10 -j ACCEPT
IPTAFORWARDs172.16.0.11jACCEPTIPT -A FORWARD -s 172.16.0.12 -j ACCEPT

IPTAFORWARDd172.16.0.1jACCEPTIPT -A FORWARD -d 172.16.0.2 -j ACCEPT
IPTAFORWARDd172.16.0.3jACCEPTIPT -A FORWARD -d 172.16.0.4 -j ACCEPT
IPTAFORWARDd172.16.0.5jACCEPTIPT -A FORWARD -d 172.16.0.6 -j ACCEPT
IPTAFORWARDd172.16.0.7jACCEPTIPT -A FORWARD -d 172.16.0.8 -j ACCEPT
IPTAFORWARDd172.16.0.9jACCEPTIPT -A FORWARD -d 172.16.0.10 -j ACCEPT
IPTAFORWARDd172.16.0.11jACCEPTIPT -A FORWARD -d 172.16.0.12 -j ACCEPT

posted @   张同光  阅读(98)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示