Linux有问必答:在CentOS或RHEL防火墙上开启端口

Linux有问必答:在CentOS或RHEL防火墙上开启端口

问题:我在CentOS系统上运行一台网页或文件服务器,打算远程访问服务器。因此,我需要更改防火墙规则以允许访问系统上的某个TCP端口。那么,有什么好方法在CentOS或RHEL系统的防火墙上开启TCP/UDP端口?

如果希望在服务器上提供服务,诸如CentOS或RHEL的企业级Linux发行版包含内置的强大防火墙,它们默认的防火墙规则十分严格。因此,如果你安装了任何定制的服务(比如web服务器、NFS和Samba),那么它们的流量很有可能被防火墙规则阻塞。所以需要在防火墙上开启必要的端口以允许流量通过。

在CentOS/RHEL 6或更早的版本上,iptables服务允许用户与netfilter内核模块交互来在用户空间中配置防火墙规则。然而,从CentOS/RHEL 7开始,一个叫做firewalld新用户空间接口被引入以取代iptables服务。

使用这个命令察看当前的防火墙规则:

$ sudo iptables -L

现在,让我们看看如何在CentOS/RHEL上修改防火墙来开启一个端口。

在CentOS/RHEL 7上开启端口

启动CentOS/RHEL 7后,防火墙规则设置由firewalld服务进程默认管理。一个叫做firewall-cmd的命令行客户端支持和这个守护进程通信以永久修改防火墙规则。

使用这些命令来永久打开一个新端口(如TCP/80)。

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

如果不使用“--permanent”标记,把么防火墙规则在重启后会失效。

在CentOS/RHEL 6上开启端口

在CentOS/RHEL 6甚至更早版本系统上,iptables服务负责维护防火墙规则。

使用iptables的第一条命令可以通过防火墙开启一个新TCP/UDP端口。为了永久保存修改过的规则,还需要第二条命令。

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

另一种方法是通过一个名为system-config-firewall-tui的命令行用户接口(TUI)的防火墙客户端。

$ sudo system-config-firewall-tui

选择位于中间的“Customize”按钮,按下ENTER键即可。

如果想要为任何已知的服务(如web服务器)修改防火墙,只需勾选该服务,然后关闭工具。如果想要开启任意一个TCP/UDP端口,选择“Forward”按钮,然后进入下一个界面。

选择“Add”按钮添加一条新规则。

指定一个端口(如80)或者端口范围(如3000-3030)和协议(如tcp或udp)。

最后,保存修改过的配置,关闭工具。这样,防火墙就永久保存了。

原文发布时间:2014-11-17

本文来自云栖合作伙伴“linux中国”

时间: 2024-07-30 15:07:38

Linux有问必答:在CentOS或RHEL防火墙上开启端口的相关文章

在CentOS的防火墙上开启通行端口的方法

  如果希望在服务器上提供服务,诸如CentOS或RHEL的企业级Linux发行版包含内置的强大防火墙,它们默认的防火墙规则十分严格.因此,如果你安装了任何定制的服务(比如web服务器.NFS和Samba),那么它们的流量很有可能被防火墙规则阻塞.所以需要在防火墙上开启必要的端口以允许流量通过. 在CentOS/RHEL 6或更早的版本上,iptables服务允许用户与netfilter内核模块交互来在用户空间中配置防火墙规则.然而,从CentOS/RHEL 7开始,一个叫做firewalld新

Linux有问必答:如何在CentOS或者RHEL上启用Nux Dextop仓库

Linux有问必答:如何在CentOS或者RHEL上启用Nux Dextop仓库 问题: 我想要安装一个在Nux Dextop仓库的RPM包.我该如何在CentOS或者RHEL上设置Nux Dextop仓库? Nux Dextop是一个面对CentOS.RHEL.ScientificLinux的含有许多流行的桌面和多媒体相关的包的第三方RPM仓库(比如:Ardour,Shutter等等).目前,Nux Dextop桌面对CentOS和RHEL 6/7可用. 要在CentOS或者RHEL上启用Nu

Linux有问必答:如何在CentOS或RHEL 7上修改主机名

Linux有问必答:如何在CentOS或RHEL 7上修改主机名 问题:在CentOS/RHEL 7上修改主机名的正确方法是什么(永久或临时)? 在CentOS或RHEL中,有三种定义的主机名:a.静态的(static),b.瞬态的(transient),以及 c.灵活的(pretty)."静态"主机名也称为内核主机名,是系统在启动时从/etc/hostname自动初始化的主机名."瞬态"主机名是在系统运行时临时分配的主机名,例如,通过DHCP或mDNS服务器分配.

Linux有问必答:如何为CentOS 7配置静态IP地址

Linux有问必答:如何为CentOS 7配置静态IP地址 问题:在CentOS 7上,我想要将我其中一个网络接口从DHCP改为静态IP地址配置,如何才能永久为CentOS或RHEL 7上的网络接口分配静态IP地址? 如果你想要为CentOS 7中的某个网络接口设置静态IP地址,有几种不同的方法,这取决于你是否想要使用网络管理器. 网络管理器(Network Manager)是一个动态网络的控制器与配置系统,它用于当网络设备可用时保持设备和连接开启并激活.默认情况下,CentOS/RHEL 7安

Linux防火墙上的Apache反向代理

[导读]本文着重介绍在企业防火墙上安装具有代理和重写规则功能的Web服务器--Apache的方法,以及编译和设置Apache的具体步骤.在成功安装后,弹性的虚拟主机设置可以允许外部用户通过防火墙访问内部局域网上多个Web服务器. 一.测试环境与网络结构 本文所使用的测试环境是Redhat Linux 7.2.Apache 1.3.24,公司域名假设是company.com. 公司的典型网络构造如附图所示. 注意: 附图中的防火墙上安装了2块网卡,其中e0端口的外部公共地址为1.2.3.4,e1端

在Linux防火墙上编译Apache+PHP4+Mysql(转)

apache|mysql|编译|防火墙 目的: 一台Redhat linux 6.2 用为防火墙,专线连结Chinanet,对内连结        局域网段192.168.11.0/24,需要enable PHP4和Mysql数据库,且局域网      上有另一台Apache服务器192.168.11.2,需要对外部用户提供服务,利用      防火墙上编译的Apache反向代理和名字虚拟主机的功能来实现 地址: 防火墙外部地址为a.b.c.210,且别名第二个地址为a.b.c.211,内部网卡

Linux有问必答:如何在CentOS上安装phpMyAdmin

Linux有问必答:如何在CentOS上安装phpMyAdmin 问题:我正在CentOS上运行一个MySQL/MariaDB服务,并且我想要通过网络接口来用phpMyAdmin来管理数据库.在CentOS上安装phpMyAdmin的最佳方法是什么? phpMyAdmin是一款以PHP为基础,基于Web的MySQL/MariaDB数据库管理工具.虽然已经存在着一些诸如Adminer的轻量级数据库管理工具, 但是phpMyAdmin还是更加广泛应用于网站管理员之中来进行各种MySQL/MariaD

Linux有问必答:如何在VPS上安装和访问CentOS 7远程桌面

Linux有问必答:如何在VPS上安装和访问CentOS 7远程桌面 提问: 我想在VPS中安装CentOS桌面,并可以直接从我家远程访问GUI桌面.在VPS上设置和访问CentOS远程桌面有什么建议吗? 如何远程办公或者远程弹性化工作制在技术领域正变得越来越流行.这个趋势背后的一个技术就是远程桌面.你的桌面环境在云中,你可以在任何你去的地方,或者在家或者工作场所访问你的远程桌面. 这个教程介绍如何VPS中设置基于CentOS的远程桌面.现在,我们会先展示CentOS的基础环境. 我们假设你已经

Linux有问必答:如何在命令行下压缩JPEG图像

Linux有问必答:如何在命令行下压缩JPEG图像 问题: 我有许多数码照相机拍出来的照片.我想在上传到Dropbox之前,优化和压缩下JPEG图片.有没有什么简单的方法压缩JPEG图片并不损耗他们的质量? 如今拍照设备(如智能手机.数码相机)拍出来的图片分辨率越来越大.甚至3630万像素的Nikon D800已经冲入市场,并且这个趋势根本停不下来.如今的拍照设备不断地提高着照片分辨率,使得我们不得不压缩后,再上传到有储存限制.带宽限制的云. 事实上,这里有一个非常简单的方法压缩JPEG图像.一