简单使用iptables防火墙 INPUT # 进入 FORWARD # 转发 OUTPUT # 出去 ACCEPT # 将封包放行 REJECT # 拦阻该封包 DROP # 丢弃封包不予处理 -A # 在所选择的链(INPUT等)末添加一条或更多规则 -D # 删除一条 -E # 修改 -p # tcp、udp、icmp0相当于所有all!取反 -P # 设置缺省策略(与所有链都不匹配强制使用此策略) -s # IP/掩码(IP/24)主机名、网络名和清楚的IP地址 !取反 -j # 目标跳转,立即决定包的命运的专用内建目标 -i # 进入的(网络)接口 [名称] eth0 -o # 输出接口[名称] -m # 模块 --sport # 源端口 --dport # 目标端口 iptables-restore < 规则文件 # 导入防火墙规则 /etc/init.d/iptables save # 保存防火墙设置 iptables -t filter -D INPUT -p icmp -j REJECT #删除入站icmp都会被拒绝的链条 iptables -t filter -I INPUT -p icmp -j REJECT #-I在链表开头插入,-A在链表之后添加 iptables -D INPUT 1 //删除INPUT第一条规则 iptables -A OUTPUT -p icmp -j REJECT #添加链条OUTPUT禁止icmp出站 iptables -F #清除所有表的所有连的规则 iptables -t nat -F #指定清除NAT表的链规则 iptables -t filter -P FORWARD DROP #filter转发默认被丢掉 iptables -t filter -P FORWARD DROP #filter入站默认被丢掉 iptables -A FORWARD -p icmp -j ACCEPT #"!"取反,转发除icmp外所有包。 iptables -I INPUT -s 10.20.30.1 -j drop #丢弃来自10.20.30.1的包 iptables -I OUTPUT -d 8.8.8.8 -j drop #丢弃目标地址为8.8.8.8的数据包 iptables -I INPUT -s 192.168.26.0/24 -j REJECT #拒绝来自26网段的ip iptables -A FORWARD -s 192.168.26.0 -j DROP #丢弃来自26网段的数据包 iptables -A INPUT -p tcp --dport 80 -j ACCEPT #开放80端口 iptables -A INPUT -p tcp --dport 20:22 -j ACCEPT #开放20至22端口的tcp数据传输 iptables -A FORWARD -s 192.168.4.0/24 -p udp --dport 53 -j ACCERT #接受来自24网段的在53端口的udp数据转发 iptables -A FORWARD -d 192.168.24.0/24 -p udp --sport 53 -j ACCPT #接受目标24网段的在53端口的udp数据转发 iptables -I INPUT -i eth0 -p tcp --tcp-flags SYN,RST,ACK SYN -j DROP #TCP丢弃TCP标示符SYN,RST,ACK SYN iptables -A INPUT -p tcp -m multiport --dport 25,80,110,143 -j ACCEPT #开放多个端口 iptables -I FORWARD -p tcp -m iprange --src-range 192.168.21.21-192.168.21.180 -j ACCEPT #ip地址匹配 iptables -A INPUT -m mac --mac-source 00:0c29:c0:55:3f -j DROP #mac地址匹配 iptables -A FORWARD -m state --state NEW -p tcp ! --syn -j DROP #禁止转发与正常TCP连接无关的非--syn请求数据包 iptables -I INPUT -p tcp -m multiport --dport 80 -j ACCEPT iptables -I INPUT -p tcp -m state --state ESTALISHED -j ACCEPT iptables -p INPUT DROP #除了请求80端口的数据包全都丢掉 iptables -t nat -A POSTROUTING -s 192.168.22.0/24 -o eth0 -j SNAT --to 192.168.1.118 #共享上网或者vpn转发 echo 1 > /proc/sys/net/ipv4/ip_forward # 在内核里打开ip转发功能 route add -net 10.10.20.0 netmask 255.255.255.0 gw 10.10.20.111 # 内网需要添加默认网关,并且网关开启转发 iptables -t nat -A PREROUTING -d 192.168.10.158 -p tcp --dport 9999 -j DNAT --to 10.10.20.55:22 #sshz转发 iptables -t nat -A PREROUTING -i eth0 -d 22.22.22.123 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.100 #发布服务器 iptables -t nat -nL # 查看转发 (责任编辑:IT) |