iptables常用命令
# 开启防火墙
/etc/init.d/iptables start
或
service iptables start
# 停止防火墙
/etc/init.d/iptables stop
或
service iptables stop
# 重启防火墙
/etc/init.d/iptables restart
或
service iptables restart
# 查看端口状态
/etc/init.d/iptables status
或
service iptables status
# 保存配置
/etc/init.d/iptables save
或
service iptables save
chkconfig iptables off # 永久关闭防火墙
chkconfig iptables on # 永久关闭后启用
iptables开启端口
以下举例开启8080端口
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
或
iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
然后记得保存规则,并重启服务。
如果需要打开个端口段落,则用 : 连接,比如将上面的8080换成“49152:65534”即可。
以下是在开启端口中会碰到的一些问题:
有的时候iptables开放端口没有成功的原因是iptables是由上而下进行规则的匹配,所以放行规则需在禁行规则之前才能生效。使用-A的参数是添加在进行之后,所以打开并没有成功,这里需要是-I。
iptables开放端口不成功的原因
iptables的规则里开放或禁用端口的时候,会看到有dport和sport,dport表示目的端口 ,sport表示来源端口。
iptables规则中端口dport和sport的区别
但是在使用的时候要看到底是INPUT还是OUTPUT,因为进出的方向不一样,目的和来源也不一样。
iptables禁止端口或IP
#关闭端口
ptables -A INPUT -p tcp --dport 7777 -j DROP
#禁止IP
iptables -A INPUT -p tcp -s 192.168.1.2 -j DROP
记得同样样保存规则,并重启服务。
iptables查看规则
可以直接使用vi查看文件
/etc/sysconfig/iptables
也可以使用代码来查看
iptables -nv -L
iptables删除规则
先使用代码
iptables -nv --line-number
查所有规则前面的编号,按编号进行删除,例如删除2号规则。
iptables -D INPUT 2