Redhat/CentOS/Fedora Linux开放的TCP/UDP端口
时间:2020-01-09 10:40:38 来源:igfitidea点击:
我有启用了Iptabeles防火墙的Red Hat Enterprise Linux 5服务器。
我已经启动了所有服务,但不知道如何使用iptables打开端口。
默认情况下,它仅允许端口ssh tcp端口#22。
如何在Linux上打开端口80/143/110?
默认情况下,iptables防火墙将其配置存储在RHEL/CentOS 5.x/6.x上的/etc/sysconfig/iptables文件中。
您需要编辑此文件并添加规则以打开端口号。
该文件仅在以下位置可用:
- 红帽企业版Linux 3/4/5和6
- 老红帽Linux版本
- CentOS的4/5/6
- 旧版本的Fedora Linux
让我们看看如何在CentOS或RHEL版本5.x/6.x和7.x(包括最新版本的Fedora Linux 27或更高版本)上的防火墙中打开端口。
如何在RHEL/CentOS Linux上打开TCP端口80
打开文件/etc/sysconfig/iptables:
# vi /etc/sysconfig/iptables
追加规则如下:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
保存并关闭文件。
重启iptables:
# /etc/init.d/iptables restart
在RHEL上打开端口TCP端口#110
追加规则如下:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 110 -j ACCEPT
在CentOS上打开端口143
追加规则如下:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 143 -j ACCEPT
重新启动iptables服务
执行以下命令:
# service iptables restart
关于在CentOS/RHEL 6上打开端口的注释
您还可以如下使用iptable命令打开端口443:
# iptables -I INPUT -p tcp -m tcp --dport 443 -j ACCEPT # service iptables save
关于Red Hat Enterprise Linux 7.x和CentOS 7.x的注释
以上命令或文件在RHEL/CentOS 7.x或Fedora Linux的最新版本上不起作用。
要查看当前打开的端口,请执行:
# firewall-cmd --list-ports
查找区域列表:
# firewall-cmd --get-zones
输出示例:
block dmz drop external home internal public trusted work
要查找有关接口名称的信息,请使用ip命令:
$ ip a
输出示例:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1460 qdisc pfifo_fast state UP qlen 1000 link/ether 42:01:0a:80:00:04 brd ff:ff:ff:ff:ff:ff inet 10.128.0.4/32 brd 10.128.0.4 scope global dynamic eth0 valid_lft 79076sec preferred_lft 79076sec inet6 fe80::4001:aff:fe80:4/64 scope link valid_lft forever preferred_lft forever
获取有关eth0接口的信息:
# firewall-cmd --get-zone-of-interface=eth0
输出示例:
trusted
执行以下命令为Apache/httpd服务器打开TCP端口80:
# firewall-cmd --permanent --add-port 80/tcp
要再次列出打开的端口,请执行:
# firewall-cmd --list-ports
输出示例:
1191/tcp 80/tcp 22/tcp
要打开2000-3000/tcp之间的端口范围,请执行:
# firewall-cmd --permanent --add-port 2000-3000/tcp
启动/停止/重新启动防火墙的命令:
# systemctl start firewalld # systemctl stop firewalld # systemctl restart firewalld # systemctl status firewalld
输出示例:
验证端口是否打开
运行以下命令ss命令/netstat命令:
# netstat -tulpn | less
或者
# ss -tulpn | less
通过列出规则,确保iptables允许端口80/110/143连接:
# iptables -L -n -v