linux服务器管理–防火墙设置命令iptables

如果我们想新开一个端口给别人访问,我们就需要设置防火墙,比如我想开3838端口给shiny程序使用,下面我重点讲解这个实例,其余开放端口,关闭端口大家继续学习就好。
如果你使用的是ssh远程,而又不能直接操作本机,那么建议你慎重,慎重,再慎重!(一旦你把22端口给搞死了,你就无法登陆你的服务器了!!!)
通过iptables我们可以为我们的Linux服务器配置有动态的防火墙,能够指定并记住为发送或接收信息包所建立的连接的状态,是一套用来设置、维护和检查Linux内核的IP包过滤规则的命令包。
首先配置好防火墙 sudo vim /etc/sysconfig/iptables 让该端口可以被访问
3
然后进去修改即可,上面红圈出来的那句话就是我添加的,意思是开放3838端口给用户使用。
修改之后并不是防火墙规则马上生效,还需要一个步骤,我搜索了一些资料,里面是这样讲的,我发现它的教程太旧了
这里很多人会想到/etc/rc.d/init.d/iptables save指令
但是一旦你这么干了你刚才的修改内容就白做了。。。
只修改/etc/sysconfig/iptables 使其生效的办法是修改好后先service iptables restart
然后才调用/etc/rc.d/init.d/iptables save
因为/etc/rc.d/init.d/iptables save会在iptables服务启动时重新加载,要是在重启之前直接先调用了/etc/rc.d/init.d/iptables save那么你的/etc/sysconfig/iptables 配置就回滚到上次启动服务的配置了,这点必须注意!!!

因为我是新的系统(RedHat 7, Ubuntu 15.04+, SLES 12+) ,结合我对该教程的理解。所以我用的是

 

sudo systemctl restart iptables  命令,果然,马上3838端口就可以被访问了,我的shiny程序也可以完整的使用啦。
再简单解释一下刚才修改的防火墙配置文件 /etc/sysconfig/iptables 的那句话的意义:
  1. -A:指定链名
  2. -p:指定协议类型
  3. -d:指定目标地址
  4. --dport:指定目标端口(destination port 目的端口)
  5. --sport:指定源端口(source port 源端口)
  6. -j:指定动作类型
我还查了好多其它资料,开始好像暂时用不着,就先不学习了,但是那些资料大多太陈旧了,请睁大你的慧眼,消化了它人的指导,再来自己运行。
也可以不去打开那个文件进行修改,而且命令行形式一条条记录的添加
  1. 例如我给SSH加放行的语句:
  2. 添加input记录: iptables -A INPUT -p tcp --dport 22 -j ACCEPT
  3. 添加output记录: iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
  4. 最后注意需要再执行一下 /etc/init.d/iptables save,这样这两条语句就保存到刚才那个/etc/sysconfig/iptables 文件中了。
删除端口就非常简单了:
可能有时候需要删除规则,最简单就是修改一下/etc/sysconfig/iptables然后service iptables restart,最后/etc/rc.d/init.d/iptables save即可。
还可以彻底禁止某IP访问:
  1. #屏蔽单个IP的命令是
  2. iptables -I INPUT -s 123.45.6.7 -j DROP
  3. #封整个段即从123.0.0.1到123.255.255.254的命令
  4. iptables -I INPUT -s 123.0.0.0/8 -j DROP
  5. #封IP段即从123.45.0.1到123.45.255.254的命令
  6. iptables -I INPUT -s 124.45.0.0/16 -j DROP
  7. #封IP段即从123.45.6.1到123.45.6.254的命令是
  8. iptables -I INPUT -s 123.45.6.0/24 -j DROP
  9. 指令I是insert指令 但是该指令会insert在正确位置并不像A指令看你自己的排序位置,因此用屏蔽因为必须在一开始就要加 载屏蔽IP,所以必须使用I命令加载,然后注意执行/etc/rc.d/init.d/iptables save进行保存后重启服务即可
在linux关闭防火墙可以这样:
1. 重启系统生效
开启: chkconfig iptables on
关闭: chkconfig iptables off2. 即时生效,重启后失效
开启: service iptables start
关闭: service iptables stop

Comments are closed.