CentOS防火墙开放和关闭端口(iptables)

1 打开端口

7777端口为例,命令如下:

$ /sbin/iptables -I INPUT -p tcp --dport 7777 -j ACCEPT
$ /etc/init.d/iptables save      # 保存
$ /etc/init.d/iptables status    # 查看端口状态

或者打开配置文件/etc/sysconfig/iptables,加入如下语句,然后重启防火墙:

-A INPUT -p tcp -m state --state NEW -m tcp --dport 7777 -j ACCEPT

然后重启防火墙:

$ /etc/init.d/iptables restart

修改完成。其中,参数:

  • –A:参数就看成是添加一条规则
  • –p:指定协议,我们常用的tcp 协议。当然也有udp,例如53端口的DNS
  • –dport:就是目标端口,当数据从外部进入服务器为目标端口
  • –sport:数据从服务器出去,则为数据源端口使用
  • –j:就是指定是 ACCEPT接收,或者 DROP 拒绝
  • –s:指定IP

2 关闭端口

关闭端口

$ iptables -A  INPUT -p tcp --dport 7777 -j DROP
$ /etc/init.d/iptables save                         # 保存

关闭IP访问:

$ iptables -A INPUT -p tcp -s 192.168.1.2 -j DROP

或者,打开配置文件/etc/sysconfig/iptables,加入如下语句:

-A INPUT -p tcp -m state --state NEW -m tcp --dport 7777 -j DROP

再重启防火墙。

3 删除规则

查看端口状态,

$ /etc/init.d/iptables status    # 查看端口状态

可以看到端口num编号,然后按编号删除:

iptables -D INPUT 2

4 常用命令

$ /etc/init.d/iptables start     # 开启防火墙,或者service iptables start,以下同理
$ /etc/init.d/iptables stop      # 停止防火墙
$ /etc/init.d/iptables restart   # 重启防火墙
$ /etc/init.d/iptables status    # 查看端口状态
$ /etc/init.d/iptables save      # 保存配置
$ chkconfig iptables off         # 永久关闭防火墙
$ chkconfig iptables on          # 永久关闭后启用

 

参考资料:

  1. CentOS防火墙开放特定端口 (iptables)
  2. CentOS 6 iptables 开放端口80 3306 22等
  3. CentOS6.6防火墙中端口的开启和关闭
  4. CentOS 配置防火墙操作实例(启、停、开、闭端口)

1条评论

hacker says: 回复

关闭端口处iptables后的-A 应修改为-I

发表评论

电子邮件地址不会被公开。 必填项已用*标注

昵称 *