16.iptables配置管理
·配置文件:
·通过iptables添加的规则并不会永久保存,需要service iptables save命令永久保存到/etc/sysconfig/iptables文件中,
·CentOS自带默认iptables规则,保存自定义规则会覆盖默认规则,
·基本操作:
·iptables服务默认启动,service iptables status,
·列出现有规则,iptables -L,
·插入一个规则,iptables -I INPUT 3 -p tcp --dport 22 -j ACCEPT,
·删除一个规则,iptables -D INPUT 3或 iptabes -D INPUT -s 192.168.1.1 -j drop,
·删除所有规则,iptables -F,
·举例:
·控制到本机的网络流量:
·iptables -A INPUT -s 192.168.1.1 -j DROP,过滤掉所有来自192.168.1.1的流量,
·iptables -A INPUT -p tcp --dport 80 -j DROP,过滤掉访问本机80端口的网页流量,
·iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport22 -j DROP,过滤掉来自1网段的ssh连接,
·iptables -A INPUT -i eth0 -j ACCEPT,接受来自接口eth0的数据,
·forward,当使用linux作为路由(进行数据转发)设备使用的时候,可以通过定义forward规则来进行转发控制,如:
·iptables -A FORWARD -s 192.168.1.0/24 -d 10.1.1.0/24 -j DROP,禁止所有192.168.1到10.1.1的流量,
·NAT,网络地址转换是用来对数据包的IP地址进行修改的机制,NAT分为两种:
·SNAT,源地址转换,通常用于伪装内部地址(一般意义上的NAT),
·DNAT,目标地址转换,通常用于跳转,
·iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-dest 192.168.1.10,通过NAT进行跳转,
·iptables -t nat -A OUTPUT -p tcp --dport 80 -j DNAT --to-dest 192.168.1.100:8080,通过NAT对出数据进行跳转,
·iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE,一般意义NAT,对数据进行伪装,成一个外部公网,
·iptables -t nat -A POSTROUTING -j SNAT --to-source 1.2.3.4,通过NAT伪装源IP地址,
·注意:
·如果是远程管理一个linux主机并修改iptables规则,必须先允许来自客户机的SSH流量的规则,否则可能由于配置失误讲自己阻挡在外,