博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Centos 7防火墙firewalld/iptables开放80端口
阅读量:4049 次
发布时间:2019-05-25

本文共 1939 字,大约阅读时间需要 6 分钟。

firewalld

开启80端口

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

出现success表明添加成功

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

重启防火墙

systemctl restart firewalld.service

1、运行、停止、禁用firewalld

启动:# systemctl start  firewalld查看状态:# systemctl status firewalld 或者 firewall-cmd --state停止:# systemctl disable firewalld禁用:# systemctl stop firewalld

2、配置firewalld

查看版本:$ firewall-cmd --version查看帮助:$ firewall-cmd --help查看设置:显示状态:$ firewall-cmd --state查看区域信息: $ firewall-cmd --get-active-zones查看指定接口所属区域:$ firewall-cmd --get-zone-of-interface=eth0拒绝所有包:# firewall-cmd --panic-on取消拒绝状态:# firewall-cmd --panic-off查看是否拒绝:$ firewall-cmd --query-panic

更新防火墙规则:

# firewall-cmd --reload# firewall-cmd --complete-reload

两者的区别就是第一个无需断开连接,就是firewalld特性之一动态添加规则,第二个需要断开连接,类似重启服务

将接口添加到区域,默认接口都在public

# firewall-cmd --zone=public --add-interface=eth0

永久生效再加上 --permanent 然后reload防火墙

设置默认接口区域

# firewall-cmd --set-default-zone=public

立即生效无需重启

打开端口(貌似这个才最常用)

查看所有打开的端口:

# firewall-cmd --zone=dmz --list-ports

加入一个端口到区域:

# firewall-cmd --zone=dmz --add-port=8080/tcp

若要永久生效方法同上

打开一个服务,类似于将端口可视化,服务需要在配置文件中添加,/etc/firewalld 目录下有services文件夹,这个不详细说了,详情参考文档

# firewall-cmd --zone=work --add-service=smtp

移除服务

# firewall-cmd --zone=work --remove-service=smtp

iptables

查看开放的端口

sudo /etc/init.d/iptables status

开放指定端口

开放80端口,允许数据包从80端口进入,开放其它端口一样改成对应的数字,比如ftp21和ssh的22端口

sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT

保存所做的更改

sudo /etc/rc.d/init.d/iptables save

ftp的设置方法

有时候我们使用ftp的时候明明开放啦21端口但却还是连接不上,原因如下

FTP简介

ftp有 FTP主动模式和被动模式的区别

简单的说,主动模式是从服务器端向客户端发起连接;被动模式是客户端向服务器端发起连接。两者的共同点是都使用 21端口进行用户验证及管理,差别在于传送数据的方式不同,主动(PORT)模式的FTP服务器数据端口固定在20,而被动(PASV)模式则在1025-65535之间 随机。
了解ftp原理后,接下来就去设置iptables规则。我自己服务器上默认INPUT规则是DROP,OUTPUT是ACCEPT。
1488003325140550.png
如上图所示连接的时候会出现20342这个端口,而这个端口在防火墙里是没有开放的所以就出错啦,而被动模式又是随机端口的我们也不可能都设置开放

我们可以设置一下接受所有状态为ESTABLISHED、RELATED的连接,就可以啦如下

sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

转载地址:http://zycci.baihongyu.com/

你可能感兴趣的文章
IOS开发的开源库
查看>>
IOS开发的开源库
查看>>
Jenkins - sonarqube 代码审查
查看>>
Jenkins + Docker + SpringCloud 微服务持续集成(一)
查看>>
Jenkins + Docker + SpringCloud 微服务持续集成 - 单机部署(二)
查看>>
Jenkins + Docker + SpringCloud 微服务持续集成 - 高可用集群部署(三)
查看>>
Golang struct 指针引用用法(声明入门篇)
查看>>
Linux 粘滞位 suid sgid
查看>>
C#控件集DotNetBar安装及破解
查看>>
Winform皮肤控件IrisSkin4.dll使用
查看>>
Winform多线程
查看>>
C# 托管与非托管
查看>>
Node.js中的事件驱动编程详解
查看>>
mongodb 命令
查看>>
MongoDB基本使用
查看>>
mongodb管理与安全认证
查看>>
nodejs内存控制
查看>>
nodejs Stream使用中的陷阱
查看>>
MongoDB 数据文件备份与恢复
查看>>
数据库索引介绍及使用
查看>>