CentOS 7防火墙设置开放80端口
在CentOS 6.x版本中,默认使用的是iptables
防火墙。到了CentOS 7.x版本,默认防火墙变成了firewalld
。本篇通过使用firewalld
开启、关闭 HTTP(80)端口,来讲述firewalld
的基本使用方法。
firewalld
的一切设置均使用 firewall-cmd
命令完成。
配置前先确保防火墙是运行着的:
[root@bogon ~]# firewall-cmd --state
running
输出running就说明运行着,否则需要开启:
[root@bogon ~]# service firewalld start
Redirecting to /bin/systemctl start firewalld.service
服务器上可能会有多张网卡,每张网卡可能有多个网口。firewalld
最细可以控制每个网口的进出流量。所以配置前需要知道要控制的网口的名字,用ifconfig
命令获取:
[root@bogon ~]# ifconfig
eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.28.128 netmask 255.255.255.0 broadcast 192.168.28.255
inet6 fe80::20c:29ff:fef4:6dd1 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:f4:6d:d1 txqueuelen 1000 (Ethernet)
RX packets 13558 bytes 16041550 (15.2 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 4380 bytes 315435 (308.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 0 (Local Loopback)
RX packets 72 bytes 6140 (5.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 72 bytes 6140 (5.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 [root@bogon ~]#
一般买来的云服务器,只有一张网卡一个网口,这种情况下ifconfig会列出两个网口,比如这里是eno16777736和lo。lo是本地回路,是用于调试的,不是真正的网口。剩下的eno16777736就是真实网口的名字。
如果发现机器上除了lo网口,还是有多个网口,说明服务器上有多张网卡或多个网口。这时候要自己判断开操作哪个网口。
知道了要操作哪个网口。还需要了解下下firewalld中zone的概念:
firewalld将服务器网络环境划分为几个zone。就如同美国划分了很多个州,各个州都有各自的法律,一个生活在美国的人必须处在某一个洲(比如Ohio洲),行为受到该洲的限制,如果把此人从Ohio洲移动到Texas洲,那么他收到的法律限制就会发生变化。
同样的道理,一个网口必须处在某一个zone之内,zone有一套流量进出的规则,网口的进出流量就得遵循这套规则。如果把网口从一个zone移动到另一个zone后,该网口的流量进出规则就会改变。
根据这样的解释可以知道,防火墙的流量规则都是配置在zone上的,而不是直接配置在网口上的。所以先给public这个zone添加规则:允许80端口的流量通过:
[root@bogon ~]# firewall-cmd --zone=public --add-port=80/tcp
success
[root@bogon ~]#
返回success即代表成功。然后把网口eno16777736
添加到public
这个zone里面:
[root@bogon ~]# firewall-cmd --zone=public --add-interface=eno16777736
Warning: ZONE_ALREADY_SET
[root@bogon ~]#
因为我这里用的虚拟机只有一个网卡,所以显示的是已经添加。
最后用浏览器访问服务器,可以发现就能正常访问HTML内容了。80端口成功开启!
最新文章
- WordPress博客平台的搭建--基于Ubuntu14服务器
- JS的函数
- JavaScript中的Function(函数)对象详解
- Ubuntu系统如何查看硬件配置信息
- sql2005 全文索引
- 继续推广我的新博客xysay:http://www.xysay.com/
- 第二章实例:SimpleAdapter结合listview实现列表视图
- (转)URI与URL的区别
- Python之random
- SpringMVC对包的扫描范围扩大后,导致的事务配置不生效问题
- MySQL InnoDB独立表空间模式的优点和缺点介绍
- HttpClient 测试web API上传文件实例
- Mybatis关联一对多映射不能查询出所有的数据的问题
- .NET项目中使用PostSharp
- C# Regex正则常用方法的使用
- RelativeLayout 高度宽度
- C# 多线程 Parallel.ForEach 和 ForEach 效率问题研究及理解
- 「不定期更新」MacOS 编辑器使用小技巧
- Android之动态改变控件大小
- leetcode150
热门文章
- poj 3469(网络流模版)
- Tesseract&ndash;OCR 库原理探索
- 在PC端或移动端应用中接入商业QQ
- EasyNVR摄像机无插件直播进行摄像机云台控制的接入及调用详解
- Shell脚本实现用户数据导入
- 为什么一定要调用 setlocale 呢? 因为在 C/C++ 语言标准中定义了其运行时的字符集环境为 ";C"; ,也就是 ASCII 字符集的一个子集。使用setlocal改变整个应用程序的字符集编码方式(wcstombs使用前要设置 setlocale (LC_ALL, ";chs";); )
- Codeforces 240F. TorCoder 线段树
- 转:使用awk命令获取文本的某一行,某一列
- ubuntu常见错误--Could not get lock /var/lib/dpkg/lock解决(转)
- F110 BADI增强