POSTROUTING:在进行路由判断之后执行的规则(SNAT/MASQUERADE) OUTPUT:与发出去的数据包有关 mangle:管理特殊标记,与特殊数据包的路由标记有关 见P236图 与本机有关的实在是filter这个表格内的INPUT与OUTPUT两条链,若iptables只是用来防备linux主机本 身的话,不需要NAT规则,直接开放即可。 无论是设置还是观察防火墙规则,都只能由root来做 iptables -L -v --line-num 详细列出filter表格的三条链的规则,并给每条规则编序号 iptables -Fiptables -Xiptables -Z 清除本机防火墙filter的所有规则 iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT 设置iptables默认policy策略(链默认策略只能是ACCEPT或DROP) iptables -D INPUT 3 删除INPUT链地3条规则 iptables -R INPUT 2 xxxxxxx 修改第2条INPUT链xxxxxxxxxx iptables -N zorro 新加一条zorro链 iptables -A INPUT -s 192.168.1.0/24 -j zorro 般配这条规则的送到zorro链处置惩罚 iptables [-t] -AI -io -p -s --sport -d --dport -j io参数 $INIF对内联机接口$EXTIF 对外联机接口 没有设置的参数表示纯粹接受 -j后的选项有内置的(DROP,ACCEPT)扩大的(LOG连接系统内核日记般配不会从链中退出,REHECT给发 送者返回1个通知,定制custom chain),扩大的通常在特殊目的的内核模块中使用,所有扩大 的内核模块都以ipt_开头。这个选项最多有1个目标,若没有则使用默认链的策略 iptables -A INPUT -i lo -j ACCEPT 所有的来自lo这个接口的数据包都予以接受 iptables -A INPUT -i eth0 -s 192.168.0.1 -j ACCEPT 来自192.168.0.1这个ip的数据包都接受 iptables -A INPUT -i eth0 -s 192.168.1.10 -j DROP 来自192.168.1.10的抛弃 iptables -A INPUT -i eth0 -s!192.168.1.10 -j DROP 不来自192.168.1.10的抛弃 iptables -A INPUT -s 192.168.2.200 -j LOG 只要来自192.168.2.200的数据,其信息就会写入内核 日记即/var/logmessages中 iptables -A INPUT -i eth0 -p tcp --dport 21 -j DROP 想要联机进入本机21端口的数据包都阻止 iptables -A INPUT -i eth0 -p udp --dport 137:139-j ACCEPT 想连到主机端口137-139的都接受 iptables -A INPUT -i eth0 -p tcp -s 192.168.1.0/24 --sport 1024:65534 --dport ssh -j DROP 只要来自192.168.1.0/24的1024至65534端口的数据包,想要联机到本机的ssh port,阻止 (使用--sport --dport参数必须指定是tcp或udp数据包格局,否则会出错 port是tcp,udp特有,icmp没有port) iptables -A INPUT -i eth0-p icmp --icmp-type 8 -j DROP 般配规则主机发来的ping包抛弃 iptables -A INPUT -i eth0 -p tcp -sport 1:1023 --dport 1:1023 --syn -j DROP 来自任那边所来源port1:1023的主动联机到本机的1:1023的抛弃 iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT-m后是扩大般配参数 iptables -A INPUT -m state --state INVALID -j DROP 只要是联机成功的数据包或与已发出去请求相关的数据包就予以通过,不合法数据包则抛弃 连接跟踪需要内存,这些连接被保存在被内核使用的/proc/目次中, 有/proc/net/ip_conntrack,/proc/sys/net/ipv4/ip_conntrack 和/proc/sys/net/ipv4/netfilter/ip_conntrack_* /etc/sysconfig/iptables-config文件可使用IPTABLES_MODULES自动载入iptables模块 其他的还有IPTABLES_SAVE_ON_STOP和IPTABLES_SAVE_ON_RESTART iptables -A INPUT -m mac --mac-source aa:bb:cc:dd:ee:ff -j ACCEPT 针对局域网内的aa:bb:cc:dd:ee:ff主机开放其联机 iptables -A INPUT -i eth0 -p icmp --icmp-type 8 -j DROP 让远程主机不知道我们是否存在,不接受ping的响应 如果只是想把linux主机当client用,拒绝主动联机的所有请求 清除所有已经存在的规则;设置默认策略,INPUT默以为DROP,其他默以为ACCEPT 开放本机的lo可以自由放行;设置所有与本机所发请求相关的数据包可以联机进入本机 这是最简单的防火墙 #!/bin/bash PATH=/sbin;/bin;/usr/sbin; exportPATH iptables -F iptables -X iptables -Z iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -i eth0 -m state--state RELATED,ESTABLISHED -j ACCEPT iptables -A INPUT -i eth0 -s 192.168.1.0/24 -j ACCEPT iptables-save > filename 储存目前主机上的防火墙规则 路由和防火墙规则都被载入内存,必须保存到文件中之后才能重启后继续生效 service iptables save 保存防火墙规则到/etc/sysconfig/iptables,否则 serveice iptables restart会不保存对iptables的修改 iptables-restore > filename恢复储存的防火墙规则 restorecon -R /etc/sysconfig 确定为配置文件设置了正确的SELinux环境 iptables-save会显示出比iptables -L -v更详细的防火墙规则说明 SNAT与DNAT SNAT要放在POSTROUTING 路由后,DNAT要放在PREROUTING 路由前 SNAT:iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -j SNAT --to 192.168.20.254 端口转发,系统默认会辨认该信息的返回session ADSL,IP会变化的那种 iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -j MASQUERADE DNAT:iptables -t nat -A PREROUTING -s 192.168.24.0/24 -D
2/3 首页 上一页 1 2 3 下一页 尾页 |