########iptables####
三表五链:
1.filter表——三个链:INPUT、FORWARD、OUTPUT
作用:过滤数据包 内核模块:iptables_filter.
2.Nat表——三个链:PREROUTING、POSTROUTING、OUTPUT
作用:用于网络地址转换(IP、端口) 内核模块:iptable_nat
3.Mangle表——五个链:PREROUTING、POSTROUTING、INPUT、OUTPUT、FORWARD
作用:修改数据包的服务类型、TTL、并且可以配置路由实现QOS内核模块:iptable_mangle(别看这个表这么麻烦,咱们设置策略时几乎都不会用到它)
4.Raw表——两个链:OUTPUT、PREROUTING
作用:决定数据包是否被状态跟踪机制处理 内核模块:iptable_raw
(这个是REHL4没有的,用的不多)
1.INPUT——进来的数据包应用此规则链中的策略
2.OUTPUT——外出的数据包应用此规则链中的策略
3.FORWARD——转发数据包时应用此规则链中的策略
4.PREROUTING——对数据包作路由选择前应用此链中的规则
(记住!所有的数据包进来的时侯都先由这个链处理)
5.POSTROUTING——对数据包作路由选择后应用此链中的规则
(所有的数据包出来的时侯都先由这个链处理)
重置desktop虚拟机,配置网络,配置yum源,关闭火墙,开启iptables服务。具体操作及效果如图:
<a href="https://s5.51cto.com/wyfs02/M02/97/82/wKioL1ku-E_wwwqSAAH9K42Yv3g020.png-wh_500x0-wm_3-wmp_4-s_3883499166.png" target="_blank"></a>
<a href="https://s5.51cto.com/wyfs02/M02/97/81/wKiom1ku-E7TthDBAAIujtMptWQ814.png-wh_500x0-wm_3-wmp_4-s_3547942157.png" target="_blank"></a>
iptables命令:
iptables
-t ##指定表名称
-n ###不做解析
-L ###列出指定表中的策略
-A ###增加策略
--dport ##端口
-s ###数据来源
-j ##动作
ACCEPT ###允许
REJECT ###拒绝
-N ###增加链
-E ###修改链名称
-X ###删除链
-D ###删除指定策略
-I ##插入
-R ###修改策略
-P ###修改默认策略
一:
2 iptables -t filter -L ###查看filter表中的策略
<a href="https://s4.51cto.com/wyfs02/M02/97/82/wKioL1ku-E_SI0MdAACylYakrhw154.png-wh_500x0-wm_3-wmp_4-s_3744921374.png" target="_blank"></a>
3 iptables -t filter -nL ###查看filter表中的策略(不做解析)
<a href="https://s4.51cto.com/wyfs02/M00/97/81/wKiom1ku-E_CE7NqAACpF92Ctr4817.png-wh_500x0-wm_3-wmp_4-s_808997994.png" target="_blank"></a>
4 iptables -F ###刷掉filter表中的所有策略,当没有用-t指定表名称时默认filter表
5 iptables -nL #######查看filter表中的策略(不做解析)
<a href="https://s4.51cto.com/wyfs02/M00/97/81/wKiom1ku-FCh8EXXAABlQ7Z7TsI962.png-wh_500x0-wm_3-wmp_4-s_385504702.png" target="_blank"></a>
二:
7 iptables -A INPUT -i lo -j ACCEPT ##允许lo
8 iptables -A INPUT -p tcp --dport 22 -j ACCEPT ###允许访问22端口
9 iptables -A INPUT -s 172.25.254.44 -j ACCEPT ###允许250主机访问本机所有端口
10 iptables -A INPUT -j REJECT ###拒绝所有主机的数据来源
13 iptables -nL ##查看filter表中的策略
<a href="https://s3.51cto.com/wyfs02/M00/97/82/wKioL1ku-HWg3ydnAADIOMN3Zm0316.png-wh_500x0-wm_3-wmp_4-s_1760892995.png" target="_blank"></a>
三:
30 iptables -N redhat ###增加链redhat
31 iptables -nL
32 iptables -E redhat westos ###修改链名称
33 iptables -nL
34 iptables -X westos ###删除westos 链
35 iptables -nL
<a href="https://s3.51cto.com/wyfs02/M01/97/81/wKiom1ku-HagM_oLAAD5qvHbxSE741.png-wh_500x0-wm_3-wmp_4-s_3983771134.png" target="_blank"></a>
<a href="https://s3.51cto.com/wyfs02/M01/97/81/wKiom1ku-HawJRccAABjBCqJLB4228.png-wh_500x0-wm_3-wmp_4-s_3276449447.png" target="_blank"></a>
四:
38 iptables -A INPUT -j ACCEPT ###允许所有主机的数据来源
39 iptables -A INPUT -p tcp --dport 80 -j REJECT
###拒绝访问80端口
40 iptables -nL
41 iptables -D INPUT 2 ###删除INPUT链中的第二条策略
42 iptables -nL
<a href="https://s3.51cto.com/wyfs02/M01/97/82/wKioL1ku-Hfxb2RSAAD3onqBWO8185.png-wh_500x0-wm_3-wmp_4-s_659582393.png" target="_blank"></a>
五:
50 iptables -A INPUT -j ACCEPT###允许所有主机的数据来源
51 iptables -nL
52 iptables -I INPUT -p tcp --dport 80 -j REJECT ###插入策略到INPUT的第一条
53 iptables -nL
54 iptables -R INPUT 1 -p tcp --dport 80 -j ACCEPT #######修改第一条策略
55 iptables -nL
<a href="https://s4.51cto.com/wyfs02/M01/97/82/wKioL1ku-YHidOvTAAFN5GUE66M632.png-wh_500x0-wm_3-wmp_4-s_2100510383.png" target="_blank"></a>
六:
57 systemctl restart iptables ###重启服务
59 iptables -t filter -nL ###查看filter表中的策略(不做解析)
60 iptables -P INPUT DROP ###把INPUT表中的默认策略改为 DROP
61 iptables -t filter -nL
<a href="https://s4.51cto.com/wyfs02/M02/97/82/wKioL1ku-YKyAUHRAAEc5jnO9Fg673.png-wh_500x0-wm_3-wmp_4-s_3000248751.png" target="_blank"></a>
七:
65 iptables -nL
66 iptables -A INPUT -m state--state RELATED,ESTABLISHED -j ACCEPT
##允许RELATED,ESTABLISHED状态通过防火墙
67 iptables -nL
68 iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT
##允许状态是NEW访问22端口
69 iptables -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
##允许状态是NEW访问80端口
70 iptables -A INPUT -p tcp --dport 443 -m state --state NEW -jACCEPT
##允许状态是NEW访问443端口
71 iptables -A INPUT -p tcp --dport 53 -m state --state NEW -j ACCEPT
##允许状态是NEW访问53端口
72 iptables -nL
73 iptables -A INPUT -j REJECT ##拒绝所有主机的数据来源
74 iptables -nL
<a href="https://s4.51cto.com/wyfs02/M00/97/81/wKiom1ku-YLz2v01AADQYenJClY567.png-wh_500x0-wm_3-wmp_4-s_2892135998.png" target="_blank"></a>
<a href="https://s4.51cto.com/wyfs02/M02/97/81/wKiom1ku-YOQJeX4AAEAMXi5NHg845.png-wh_500x0-wm_3-wmp_4-s_740036274.png" target="_blank"></a>
<a href="https://s1.51cto.com/wyfs02/M00/97/82/wKioL1ku-YORO3CUAADRFlIvy8M797.png-wh_500x0-wm_3-wmp_4-s_1129768999.png" target="_blank"></a>
八:存储
1 service iptables save ####保存当前策略
2 iptables-save
3 iptables-save >/etc/sysconfig/iptables
<a href="https://s1.51cto.com/wyfs02/M01/97/81/wKiom1ku-gezy_ZXAACiqwtvkwo489.png-wh_500x0-wm_3-wmp_4-s_1711574497.png" target="_blank"></a>
<a href="https://s1.51cto.com/wyfs02/M00/97/82/wKioL1ku-gfi1v24AAAyn5sWI7w816.png-wh_500x0-wm_3-wmp_4-s_2653903404.png" target="_blank"></a>
九:
重置server虚拟机,配置网络
sysctl -a | grep forward ##查看forward状态
vim /etc/sysctl.conf ##打开net.ipv4.ip_forward
sysctl -p ##设置生效
<a href="https://s2.51cto.com/wyfs02/M02/97/82/wKioL1ku-gbxepitAAGpRBpDHpk793.png-wh_500x0-wm_3-wmp_4-s_821292997.png" target="_blank"></a>
iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 172.25.254.144 ##出路由设置
测试
连上172.25.254.144主机,显示的IP是172.25.44.11
iptables -t nat -A PREROUTING -i eth1 -j DNAT --to-dest 172.25.44.11 ##进入路由
用172.25.44.11主机ssh连接172.25.254.144主机
本文转自 如何何如 51CTO博客,原文链接:http://blog.51cto.com/12778805/1931165,如需转载请自行联系原作者