CentOS 7快速开放端口

本文介绍了CentOS7中由于firewalld替代iptables导致的端口管理变化,展示了如何使用firewalld开启、查询和关闭端口,以及如何通过编辑iptables配置文件在CentOS6中管理防火墙端口。确保在修改防火墙设置时保留必要的管理端口,并通过重启服务使更改生效。

一、CentOS 7快速开放端口:

CentOS升级到7之后,发现无法使用iptables控制Linuxs的端口,baidu之后发现Centos 7使用firewalld代替了原来的iptables。下面记录如何使用firewalld开放Linux端口:

开启端口


[root@centos7 ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent

查询端口号80 是否开启:

[root@centos7 ~]# firewall-cmd --query-port=80/tcp

重启防火墙:

[root@centos7 ~]# firewall-cmd --reload

查询有哪些端口是开启的:

[root@centos7 ~]# firewall-cmd --list-port

命令含义:
--zone #作用域
--add-port=80/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效

关闭firewall:

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall开机启动

二、CentOS6防火墙开放端口:

在我们使用CentOS系统的时候,CentOS防火墙有时是需要改变设置的。CentOS防火墙默认是打开的,设置CentOS防火墙开放端口方法如下:

打开iptables的配置文件:vi /etc/sysconfig/iptables

修改CentOS防火墙时注意:一定要给自己留好后路,留VNC一个管理端口和SSh的管理端口

下面是一个iptables的示例:

# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp –icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 53 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m udp -p udp –dport 53 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 25 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 443 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT –reject-with icmp-host-prohibited
COMMIT

修改CentOS防火墙需要注意的是,你必须根据自己服务器的情况来修改这个文件。

举例来说,如果你不希望开放80端口提供web服务,那么应该相应的删除这一行:
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT

全部修改完之后重启iptables:service iptables restart

你可以验证一下是否规则都已经生效:iptables -L

这样,我们就完成了CentOS防火墙的设置修改。

CentOS 7 系统中,查看网络端口状态可以使用多个命令,具体取决于用户需要查看的端口类型(TCP 或 UDP)以及当前连接状态。以下是几种常用的命令及其用法: ### 使用 `netstat` 查看端口状态 `netstat` 命令可以显示各种网络信息,包括 TCP 和 UDP 端口的状态。以下是一些常见的用法: - 查看所有网络端口的使用情况: ```bash netstat -anp ``` - 查看指定 TCP 端口的状态(例如端口 3306): ```bash netstat -anp | grep 3306 ``` - 查看所有监听中的 TCP 端口: ```bash netstat -ntpl ``` - 查看所有监听中的 UDP 端口: ```bash netstat -nupl ``` 需要注意的是,`netstat` 已逐渐被 `ss` 命令取代,但在 CentOS 7 中仍然可用[^2]。 ### 使用 `ss` 命令查看端口状态 `ss` 是一个更快速且功能强大的替代工具,用于查询套接字统计信息。它支持与 `netstat` 类似的语法: - 查看所有监听中的 TCP 端口: ```bash ss -lt ``` - 查看所有监听中的 UDP 端口: ```bash ss -lu ``` - 查看所有 TCP 连接: ```bash ss -t ``` - 查看所有 UDP 连接: ```bash ss -u ``` - 查看特定端口(例如 80)的连接: ```bash ss -tuln | grep :80 ``` ### 使用 `lsof` 查看端口占用情况 `lsof` 命令可以显示哪些进程正在使用特定的网络端口。例如,要查看哪个程序正在使用端口 80,可以运行: ```bash lsof -i :80 ``` 这将列出所有使用该端口的进程,并显示它们的 PID、用户和状态等信息。 ### 使用 `nmap` 进行端口扫描 如果需要对本地或远程主机进行端口扫描,可以使用 `nmap` 工具。例如,扫描本机开放端口: ```bash nmap -sT -O localhost ``` 此命令会对本地主机执行 TCP 扫描并检测操作系统类型[^2]。 ### 使用 `firewall-cmd` 查看防火墙规则 如果系统使用 `firewalld` 作为防火墙管理工具,则可以通过以下命令查看当前允许的端口: - 列出所有防火墙规则: ```bash sudo firewall-cmd --list-all ``` - 查询特定端口是否已开放(例如 TCP 80 端口): ```bash sudo firewall-cmd --query-port=80/tcp ``` 这些方法可以帮助用户全面了解 CentOS 7 系统中网络端口的状态和配置情况[^5]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值