记录一次服务器防火墙开放端口,参考了网上一位网友的方法可行,在此记录一下

CentOS 7 的防火墙开启 http 80 端口

在虚拟机 CentOS 7 上装了 Nginx,结果发现另一台电脑无法访问其默认页面,通过 telnet 192.168.1.88 80 监听发现是 http 80 端口被 CentOS 7 的防火墙 Firewalld(CentOS 6 的防火墙是 iptables)给阻止通信了。

接下来就讲下如何添加防火墙规则。

先查看防火墙是否开启的状态,以及开放端口的情况:

systemctl status firewalld.service
sudo firewall-cmd --list-all

如下显示,services: dhcpv6-client ssh 表示 ssh 服务是放行的,而 ports: 这里为空,表示无端口号放行。

接下来通过以下命令开放http 80 端口:

sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-port=80/tcp --permanent

命令末尾的--permanent表示用久有效,不加这句的话重启后刚才开放的端口就又失效了。

然后重启防火墙:

sudo firewall-cmd --reload

再次查看端口的开放情况:

sudo firewall-cmd --list-all

就会发现 services: 里出现了 http 服务,ports:里也出现了 80 端口:

最后换另一台电脑重新访问虚拟机的IP地址,成功了~

延伸阅读:

Firewall 的 Zone 还能将不同的网络连接归类到不同的信任级别:

drop: 丢弃所有进入的包,而不给出任何响应
block: 拒绝所有外部发起的连接,允许内部发起的连接
public: 允许指定的进入连接
external: 同上,对伪装的进入连接,一般用于路由转发
dmz: 允许受限制的进入连接
work: 允许受信任的计算机被限制的进入连接,类似 workgroup
home: 同上,类似 homegroup
internal: 同上,范围针对所有互联网用户
trusted: 信任所有连接

过滤规则解释如下:

source: 根据源地址过滤(优先级最高)
interface: 根据网卡过滤(优先级次高)
service: 根据服务名过滤
port: 根据端口过滤
icmp-block: icmp 报文过滤,按照 icmp 类型配置
masquerade: ip 地址伪装
forward-port: 端口转发
rule: 自定义规则
# 查看是否开启
systemctl status firewalld.service
# 打开防火墙
systemctl start firewalld.service
# 停用防火墙
systemctl disable firewalld
# 禁用防火墙
systemctl stop firewalld.service

# 开机启动
systemctl enable firewalld
# 取消开机启动
systemctl disable firewalld

# 查看运行状态
firewall-cmd --state
# 查看接口信息
firewall-cmd --list-all

# 更新防火墙规则方法1:无需断开连接,动态更改规则
firewall-cmd --reload
# 更新防火墙规则方法2:断开连接,以重启的方式更改规则
firewall-cmd --complete-reload

# 查看帮助
firewall-cmd --help
--zone=NAME # 指定 Zone
--permanent # 为永久生效
--timeout=seconds # 持续一段时间,到期后自动移除,经常用于调试,且不能与 --permanent 同时使用

# 追加一个8181端口,永久有效
firewall-cmd --add-port=8181/tcp --permanent
# 追加一段端口范围
firewall-cmd --add-port=6000-6600/tcp
# 开放 ftp 服务
firewall-cmd --add-service=ftp
# 添加eth0 接口至 public 信任等级,永久有效
firewall-cmd --zone=public --add-interface=eth0 --permanent

# 配置 public zone 的端口转发
firewall-cmd --zone=public --add-masquerade
# 然后转发 tcp 22 端口至 9527
firewall-cmd --zone=public --add-forward-port=port=22:proto=tcp:toport=9527
# 转发 22 端口数据至另一个 ip 的相同端口上
firewall-cmd --zone=public --add-forward-port=port=22:proto=tcp:toaddr=192.168.1.123
# 转发 22 端口数据至另一 ip 的 9527 端口上
firewall-cmd --zone=public --add-forward-port=port=22:proto=tcp:toport=9527:toaddr=192.168.1.100

# IP 封禁
firewall-cmd --permanent --add-rich-rule="rule family=‘ipv4‘ source address=‘192.168.1.123‘ reject"
# 通过 ipset 来封禁 ip
firewall-cmd --permanent --zone=public --new-ipset=blacklist --type=hash:ip
firewall-cmd --permanent --zone=public --ipset=blacklist --add-entry=192.168.1.123
# 封禁网段
firewall-cmd --permanent --zone=public --new-ipset=blacklist --type=hash:net
firewall-cmd --permanent --zone=public --ipset=blacklist --add-entry=192.168.1.0/24
# 倒入 ipset 规则 blacklist,然后封禁 blacklist
firewall-cmd --permanent --zone=public --new-ipset-from-file=/path/blacklist.xml
firewall-cmd --permanent --zone=public --add-rich-rule=‘rule source ipset=blacklist drop‘

原文地址https://chaishiwei.com/blog/1274.html

原文地址:https://www.cnblogs.com/michaelcnblogs/p/12242293.html

时间: 2024-11-08 16:52:57

记录一次服务器防火墙开放端口,参考了网上一位网友的方法可行,在此记录一下的相关文章

CentOS 7.x 防火墙开放端口相关用法记录

CentOS 7.x 防火墙开放端口相关用法记录 前言 防火墙对服务器起到一定的保护作用,所以了解一些相关的操作是很有必要的. 在CentOS 7.x中,有了一种新的防火墙策略,FireWall , 还记得在6.x中用的还是iptables. 这几天一直在自己的服务器上瞎搞,由于关于这个防火墙的命令还没有烂熟于心,每次都需要google一下,所以就自己动手整理了一下,方便今后的使用也同时加强记忆. 基本命令 在CentOS 7.x中,防火墙的基本命令是 firewall-cmd 先通过man f

CentOS 7防火墙开放端口快速方法

这篇文章主要为大家详细介绍了Centos7.1防火墙开放端口的快速方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 例如安装Nagios后,要开放5666端口与服务器连接,命令如下: [[email protected] ~]# firewall-cmd --add-port=5666/tcp 即时打开,这里也可以是一个端口范围,如1000-2000/tcp success [[email protected] ~]# firewall-cmd --permanent --add-port

设置CentOS防火墙开放端口

 在我们使用CentOS系统的时候,CentOS防火墙有时是需要改变设置的.CentOS防火墙默认是打开的,设置CentOS防火墙开放端口方法如下: 打开iptables的配置文件: vi /etc/sysconfig/iptables 修改CentOS防火墙时注意:一定要给自己留好后路,留VNC一个管理端口和SSh的管理端口 下面是一个iptables的示例: # Firewall configuration written by system-config-securitylevel #

联通云服务器如何开放端口

现在很多项目使用的都是云服务器,最近一个项目使用的是沃云服务器,也就是联通的云服务器,折腾很久才找到头绪,今天的经验就来和大家分享一下沃云服务器如何开发端口. 工具/原料 服务器 电脑 方法/步骤 1.首先在门户登陆你的账号密码,进入后台管理界面,如图所示. 2.点击左侧菜单的安全组,进入安全组设置界面,在里面会显示已经设置好的一个安全组,我们只需要继续添加就可以了,如图所示: 如果你想要新建,点击新建按钮,想要编辑,右击配置即可. 3.配置好了以后查看是否正常运行,如果现实失败,说明配置有误,

linux防火墙开放端口

首先进入到cd /etc/sysconfig/ 这个目录,然后查看这个文件:vim iptables: 然后将自己想要开放端口写上去.(下图标注) 最后重启下服务service iptables restart 就行了..

linux防火墙开放端口时报ptables-restore: line 13 failed [失败]

linux开放8080端口 在/etc/sysconfig/iptables中添加一行[-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT] 然后service iptables restart,报下面问题 解决方法: 问题原因:对linux防火墙相关配置不熟悉: 参考链接:http://www.mamicode.com/info-detail-1179017.html

关于Centos7 firewalld防火墙开放端口后仍不能访问ftp和nginx的问题解决

我在阿里轻量应用服务器搭建ftp服务器这篇博客中把防火墙换为iptables,因为当时无论我怎么设置firewalld,就是无法访问ftp服务器,今天在翻看其他博客的时候,突然发现firewalld有打开服务这么一个命令,然后我就找到了解决的办法.查看当前开了哪些端口其实一个服务对应一个端口,每个服务对应/usr/lib/firewalld/services下面一个xml文件. firewall-cmd --list-services1通过这个命令我们查看当前打开了那些服务,比如下面这个 我开启

Windows 2008 防火墙开放端口

当我们使用新服务器架设新主机时,经常会遇到网站无法访问的情况,当问及客服时,经常会告知,操作系统默认不打开80端口,请先确定80是否打开并确定没有被占用.那么,我们该如何打开80端口呢? 方法/步骤 1 依次点击:开始-控制面板 2 在控制面板中选择防火墙进入:选择左边菜单中的高级设置 在入站规则中右键点击,并选择新建规则 4 在弹出的步骤对话框中选择端口选项 在特定本地商品上填写80,点击下一步 6 点击下一步,就快完成了 7 再点击下一步 8 输入入站规则名称及描述,以便于将来记忆,点击完成

linux防火墙开放端口,针对固定ip开放端口

编辑/etc/sysconfig/iptables,添加 -A INPUT -m state --state NEW -m tcp -p tcp -s 127.0.0.1 --dport 6379 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp -s 126.212.173.185 --dport 6379 -j ACCEPT 以上加红地方就是只对本机和126.212.173.185开放6379端口,其他ip用telnet是无法连接的,