iptables 是linux下一款强大的防火墙,在不考虑效率的情况下,功能强大到足可以替代大多数硬件防火墙。本文利用防火墙开启或者禁用端口,禁用时不是端口被关闭而是被防火墙拦截;综合上述从而达到端口开启或者禁用的目的。
启用或者禁用端口方式一(命令式):
1、开启81端口:
iptables -A INPUT -p tcp -m tcp --dport 81 -j ACCEPT
2、关闭81端口:
iptables -A INPUT -p tcp -m tcp --dport 81 -j DROP
3、然后保存
/etc/rc.d/init.d/iptables save
启用或者禁用端口方式二(手动式):
1、手动修改iptables文件,开启81端口:
[root@localhost nginx]# vi /etc/sysconfig/iptables # Generated by iptables-save v1.4.7 on Mon Dec 22 22:20:44 2014 *filter :INPUT ACCEPT [17:1220] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [19:1880] -A INPUT -p tcp -m tcp --dport 81 -j ACCEPT COMMIT # Completed on Mon Dec 22 22:20:44 2014
2、手动修改iptables文件,关闭81端口:
[root@localhost nginx]# vi /etc/sysconfig/iptables # Generated by iptables-save v1.4.7 on Mon Dec 22 22:20:44 2014 *filter :INPUT ACCEPT [17:1220] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [19:1880] -A INPUT -p tcp -m tcp --dport 81 -j DROP COMMIT # Completed on Mon Dec 22 22:20:44 2014
每次修改防火墙,需要重启防火墙,命令如下:
[root@localhost nginx]# service iptables restart
使用lsof命令来查看某一端口是否开放.lsof -i:81 命令如下:
[root@localhost nginx]# lsof -i:81 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME java 15001 root 42u IPv4 200642 0t0 TCP *:webcache (LISTEN)
说明已开启