RHEL / CentOS 防火墙开启埠号


RHEL 及 CentOS 默认的防火墙会默认限制埠号对外开放, 如果安装一些服务器 (例如 Apache, NFS, Samba 等), 在本机测试正常, 但不能在外部连接, 可能是给防火墙封锁了, 那便需要在防火墙开启相应的埠号 (如 Apache 要开启 80 或 443)。

在 RHEL 6 及 CentOS 6, 默认是使用 iptables, 而在 RHEL 7 开始改用了 firewalld 作为防火墙, 以下是两者开启埠号的方法。

RHEL 7 / CentOS 7 开启埠号

例如我想永久开启 80 埠号, 在 CentOS 7 输入以下指令:

$ sudo firewall-cmd –zone=public –add-port=80/tcp –permanent
$ sudo firewall-cmd –reload

如果上面指令没有加上 “–permanent” 参数, 下次重新开机后设定便会失效。

然后检查设定是否生效:

$ sudo firewall-cmd –list-all

输出类似这样:

在 “ports” 一行, 可以看到 “80/tcp”, 那便表示埠号 80 的 tcp 连线对外开放。

RHEL 6 / CentOS 6 开启埠号

在 CentOS 6 是使用 iptables 作为防火墙, 以下同样是开启埠号 80 作为例子:

$ sudo iptables -I INPUT -p tcp -m tcp –dport 80 -j ACCEPT
$ sudo service iptables save

上面第一行指令是开启埠号 80 的连线, 而第二行指令则是将设定储存, 让下次开机保留这次的设定。

2 Comments

  1. Lina 16 July 2017
    • Lina 16 July 2017

Leave a Reply