1. 防火墙
通过制定一些有顺序的规则,管制进入到我们网域内的主机数据封包的一种机制
2. iptables---封包过滤软件
通过分析封包的表头数据,根据表头数据与定义的规则来决定该封包是否可以进入主机或被丢弃
即,根据封包的分析资料比对预先定义的规则内容,若封包数据与规则内容相同则进行动作,否则就继续下一条规则对比,如果所有规则都不符合,此时就透过预设动作决定封包去向
3. iptables有多个表格来分别定义自己的默认政策与规则
filter:
管理本机进出(预设的table)
INPUT链,OUTPUT链,FORWARD链(传递到后端的计算机)
nat:
管理后端主机
来源与目的IP或port的转换
PREROUTING链,POSTROUTING链,OUTPUT链
4.设置防火规则
启动防火墙,service iptables start
关闭防火墙,service iptables stop
设置防火墙开机启动,chkconfig iptables on
禁止防火墙开机启动,chkconfig iptables off
查看:iptables -L
清空:iptables -F
保存修改:service iptables save
设置默认规则:iptables -P 例子:iptables -P INPUT/OUTPUT/FORWARD (DROP/ACCEPT)
添加规则:(默认在最后一个)
只允许状态为NEW和ESTABLISHED的进来,只允许ESTABLISHED的状态出去
iptables -A INPUT -m state --state NEW,ESTABLISHED -i eth0 -s 172.17.24.0/24 -d 172.17.24.109 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED -s 172.17.24.109 -d 172.17.24.0/24 -p tcp --dport 22 -j ACCEPT
允许自己ping别人,但是别人ping自己ping不通
iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type 0 -j DROP
192.168.80.0/24段的地址都通过linux服务器的eth0 :172.17.24.110上网
iptables -t nat -A POSTROUTING -s 192.168.80.0/24 -j SNAT --to-source 172.17.24.110
使访问172.17.24.110的80 自动跳到192.168.80.129的80端口上
iptables -t nat -A PREROUTING -p tcp -d 172.17.24.110 --dport 80 -j DNAT --to-destination 172.17.24.129:80
删除规则(假设之前添加的规则为iptables -A INPUT -s 10.5.0.0/24 -p icmp --icmp-type 8 -j DROP)
iptables -D INPUT -s 10.5.0.0/24 -p icmp --icmp-type 8 -j DROP
插入:-I(默认在第一个)
替换:-R 例子:iptables -R INPUT 3 要修改的内容
查看行号:iptables -L -n --line-numbers