iptables小贴士
一、使用iptables -L
命令查看当前配置的规则。有时会在端口处显示服务名称,如果想要查看具体数字。可以使用iptables -L -n
二、iptables可以在五个位置进行处理,分别为:
1.PREROUTING (路由前)
2.INPUT (入口)
3.FORWARD (转发)
4.OUTPUT(出口)
5.POSTROUTING(路由后)
简单使用的话基本只需要操作input和output。
三、iptables默认规则是允许,可以在配置中以下处修改。
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
四、iptables常见的ACTION有三种。
DROP:丢弃
REJECT:拒绝
ACCEPT:接受
drop和reject的区别在于reject会有被拒绝的返回。
五、iptables的配置文件位置在/etc/sysconfig/iptables
。
直接在命令行使用-A命令添加的规则虽然可以使用-L命令查看到,也会生效。但是在重启iptables命令后就会失效。
解决的办法是使用service iptables save
保存,或者直接在配置文件中修改相关规则,然后重启iptables服务。
六、为了出现自己连不上自己的情况,建议把127的豁免提前添加到规则中。
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
iptables -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
七、使用示例。
-A INPUT -p tcp -s 127.0.0.1/32 --dport 18443 -j ACCEPT
-A INPUT -p tcp -s 173.16.168.0/24 --dport 18443 -j ACCEPT
-A INPUT -p tcp --dport 18443 -j DROP
以上为禁止173.16.168.*网段以外的机器访问18443端口。
-p:使用协议
-s:来源
-d:目的地(示例中未出现)
--dport:目标端口
-j:处理方式。
八、使用service iptables start
命令时报
Failed to start iptables.service: Unit not found.
去以下下载iptables-services的rpm包进行安装。
http://mirrors.163.com/centos/7/os/x86_64/Packages/