Centos 7x 对外开放放行端口的方法

Centos 7x 对外开放端口的方法,很多多时候我们在安装完应用以后,发现访问不了,打不开链接。很有可能是系统防火墙的端口没有放行导致的。

老版本的centos系统使用的是iptables防火墙,新系统已经使用firewalld

Centos 7x 对外开放放行端口的方法如下:

一:首先来了解下Centos7新增的命令工具网络防火墙:firewall-cmd,非常强大!

firewalld-cmd是centos7的一大特性,最大的好处有两个:支持动态更新,不用重启服务;

第二个就是加入了防火墙的“zone”概念。

firewall常用操作示例:
状态:# systemctl status firewalld 或者 firewall-cmd –state(查看防火墙开启关闭状态)
启动:# systemctl start  firewalld
停止:# systemctl stop firewalld
使能:# systemctl enable firewalld (可让防火墙开机自启动,防火墙默认开机不启动的,需手动启动)
禁用:# systemctl disable firewalld

#查看当前zones
# firewall-cmd –get-active-zones

#显示当前开放端口
# firewall-cmd –zone=public –list-ports

#添加端口到永久区
# firewall-cmd –permanent –zone=public –add-port=61080/tcp –add-port=61446/tcp

#添加服务到永久区
# firewall-cmd –permanent –zone=public –add-service=samba

#刷新配置,添加到永久区后必须刷新配置才能生效
# firewall-cmd –reload

#显示当前开放的服务
# firewall-cmd –zone=public –list-service

下面来说一下:  zone  这个参数是做什么的
zone的概念:硬件防火墙默认一般有三个区,firewall引入这一概念系统默认存在以下区域:
drop:默认丢弃所有包
block:拒绝所有外部连接,允许内部发起的连接
public:指定外部连接可以进入
external:这个不太明白,功能上和上面相同,允许指定的外部连接
dmz:和硬件防火墙一样,受限制的公共连接可以进入
work:工作区,概念和workgoup一样,也是指定的外部连接允许
home:类似家庭组
internal:信任所有连接

二、来看看具体的操作

1、首先要明白,firewall-cmd是Centos7系统的网络防火墙,既然是防火墙它就有能力确定外面想访问内部端口的权限,我之前在阿里云Centos7.3上安装了mysql,它的内部端口号是3306,但是我用sql的图形化界面工具通过公网IP始终连接不了,后来找到了原因,就是系统打开了firewall之后没有开放3306端口的外界访问权限,所以这点非常重要,需要用:firewall-cmd –zone=public –list-ports查看当前linux系统开放的端口号,也可以用netstat -tunlp 查看当前linux系统正在监听的端口号,就知道自己想要的liunx系统端口号是否已经打开。

没有开放的,但是自己又需要用到的,那就马上用:firewall-cmd –permanent –zone=public –add-port=8080/tcp开放端口,其中数字就是你想要开放的端口号, –permanent参数表示永久的意思,这样就不必每次启动防火墙的时候配置,tcp代表你要开放的端口号的网络协议,也可以是udp的。

2、接来下就是允许防火墙伪装ip : firewall-cmd –add-masquerade –permanent 这一步必须做。

3、将80端口的流量转发至8080firewall-cmd –add-forward-port=port=80:proto=tcp:toport=8080 –permanent

4、最后别忘了 firewall-cmd –reload 使最新的防火墙设置规则生效

自己亲测,非常好用,firewall-cmd就是为代替iptables而生!

我们也可以批量添加区间端口

1、放行端口可设置范围

firewall-cmd –zone=public –add-port=4400-4600/udp –permanent
firewall-cmd –zone=public –add-port=4400-4600/tcp –permanent

2、开启防火墙命令

systemctl start firewalld.service

3、重启防火墙命令

firewall-cmd –reload 或者 service firewalld restart

4、查看端口列表:

firewall-cmd –permanent –list-port

5、禁用防火墙

systemctl stop firewalld

6、查看状态

systemctl status firewalld
或者
firewall-cmd –state

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇