LINUX防火墙firewall、iptables

1) 重启后永久性生效:linux

开启: systemctl enable iptables.service'.
ln -s '/usr/lib/systemd/system/iptables.service' '/etc/systemd/system/basic.target.wants/iptables.service'ubuntu

关闭: systemctl disable iptables.service服务器

 

2) 即时生效,重启后失效:ssh

开启:systemctl start iptables.servicetcp

关闭:systemctl stop iptables.service测试

 

 

须要说明的是对于Linux下的其它服务均可以用以上命令执行开启和关闭操做。spa

 

在开启了防火墙时,作以下设置,开启相关端口,ip

 

修改/etc/sysconfig/iptables 文件,添加如下内容:get

 

-A RH-Firewall-1-INPUT -m state ——state NEW -m tcp -p tcp ——dport 80 -j ACCEPTit

 

-A RH-Firewall-1-INPUT -m state ——state NEW -m tcp -p tcp ——dport 22 -j ACCEPT

 

或者:

 

/etc/init.d/iptables status 会获得一系列信息,说明防火墙开着。

 

/etc/rc.d/init.d/iptables stop 关闭防火墙

 

最后:

 

在根用户下输入setup,进入一个图形界面,选择Firewall configuration,进入下一界面,选择Security LevelDisabled,保存。重启便可。

 

======================================================

 

fedora

 

/etc/init.d/iptables stop

 

=======================================================

 

ubuntu下:

 

因为UBUNTU没有相关的直接命令

 

请用以下命令

 

iptables -P INPUT ACCEPT

 

iptables -P OUTPUT ACCEPT

 

暂时开放全部端口

 

Ubuntu上没有关闭iptables的命令

 

=======================================================

 

iptables linux下一款强大的防火墙,在不考虑效率的状况下,功能强大到足能够替代大多数硬件防火墙,可是强大的防火墙若是应用不当,可能挡住的可不光是那些潜在的攻击,还有多是你本身哦。这个带来的危害对于普通的我的PC来讲可能可有可无,可是想象一下,若是这是一台服务器,一旦发生这样的状况,不光是影院正常的服务,还须要到现场去恢复,这会给你带来多少损失呢?

 

因此我想说的是,当你敲入每个iptables 相关命令的时候都要万分当心。

 

1.应用每个规则到DROP target时,都要仔细检查规则,应用以前要考虑他给你带来的影响。

 

2.redhat中咱们能够使用service iptables stop来关闭防火墙,可是在有些版本如ubuntu中这个命令却不起做用,你们可能在网上搜索到很多文章告诉你用iptables -F这个命令来关闭防火墙,可是使用这个命令前,千万记得用iptables -L查看一下你的系统中全部链的默认targetiptables -F这个命令只是清除全部规则,只不会真正关闭iptables.想象一下,若是你的链默认targetDROP,原本你有规则来容许一些特定的端口,但一旦应用iptables -L ,清除了全部规则之后,默认的target就会阻止任何访问,固然包括远程ssh管理服务器的你。

 

因此我建议的关闭防火墙命令是

 

iptables -P INPUT ACCEPT

 

iptables -P FORWARD ACCEPT

 

iptables -P OUTPUT ACCEPT

 

iptables -F

 

总之,当你要在你的服务器上作任何变动时,最好有一个测试环境作过充分的测试再应用到你的服务器。除此以外,要用好iptables,那就要理解iptables的运行原理,知道对于每个数据包iptables是怎么样来处理的。这样才能准确地书写规则,避免带来没必要要的麻烦。