IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> iptables & firewalld -> 正文阅读

[网络协议]iptables & firewalld

1、firewalld和iptables的区别

在centos7下默认使用的是firewalld,但是在工作中,大多是时间用到的是iptables,所以推荐使用iptables

iptables默认每个服务都是开启的,需要拒绝才能限制;firewalld默认每个服务都是拒绝的,需要设置才能开放

iptables 服务在 /etc/sysconfig/iptables 中储存配置;而 FirewallD 将配置储存在 /usr/lib/firewalld/ 和 /etc/firewalld/ 中的各种 XML 文件里

使用 iptables 的时候每一个单独更改意味着清除所有旧有的规则和从 /etc/sysconfig/iptables 里读取所有新的规则;使用 firewalld 却不会再创建任何新的规则;仅仅运行规则中的不同。因此 FirewallD 可以在运行时改变设置而不丢失现行配置。

2、firewalld运用

常用命令:

firewall-cmd --list-all        		#查看firewalld所有开放的规则
firewall-cmd --list-services    	#查看已经开放的服务
firewall-cmd --list-port   			#查看已经开放的端口
firewall-cmd --reload    			#配置生效

例子:

firewall-cmd --add-port=8080/tcp --permanent    #开放8080端口(--permanent 永久生效,需要reload)
firewall-cmd --add-service=http --permanent   	#开放http服务
firewall-cmd --remove-port=8080/tcp --permanent    	#关闭8080端口
firewall-cmd --remove-service=http --permanent    	#移除http服务
firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080 --permanent    #将80端口的流量转发到8080
firewall-cmd --zone=public--add-forward-port=port=80:proto=tcp:toport=8080:toaddr=192.168.217.128 --permanent     #将本地的80端口,转发到192.168.217.128机器的8080端口
systemctl stop firewalld.service    	#关闭firewall
systemctl start firewalld.service    	#开启firewall
systemctl status firewalld.service    #查看firewall状态

3、iptables安装

使用iptables时,需要关闭firewalld并卸载
systemctl stop firewalld.service    		#停止firewall
systemctl disable firewalld.service    	#禁止firewall开机启动
yum -y install iptables-services    		#安装iptables
systemctl restart iptables.service    	#重启iptables

4、iptables配置规则

iptables -L -n    	#查看详细策略
iptables -F    		#清除预设表中的所有规则链的规则
iptables -X    		#清除预设表中使用者自定链中的规则

iptables下可以通过以下两种方式来修改防火墙规则

1、直接修改/etc/sysconfig/iptables文件(注意:修改iptables文件后,需要重启iptables才能永久生效)

手动添加了一条开放8080端口的规则

2、使用命令直接修改(注意:需要save生效)
iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT    #开放8080端口
service iptables save    #使配置生效

这里遇到了一个小问题,我一开始使用的是iptables -A来添加记录的,虽然写入到配置文件了,但是一直访问不到,最后通过使用iptables -I添加配置,就能成功访问。问题总结:因为iptables -A是添加在最末尾的,-I是添加在第一条,所以是优先级的问题

5、iptables配置小结

iptables -I INPUT -p tcp -m multiport --dport 22,80 -j ACCEPT    #同时开放22和80端口
iptables -I INPUT -p tcp --dport 5000:6000 -j ACCEPT    #开放5000-6000端口
iptables -I INPUT -p all -s 0.0.0.0/0 -j ACCEPT    #允许某个网段的ip访问
iptables -I INPUT -s 0.0.0.0 -p tcp --dport 8080 -j ACCEPT    #允许某个ip的8080端口访问
iptables -I INPUT -p tcp -s 0.0.0.0 -j DROP    #禁止某台主机访问
iptables -D INPUT 7    #移除第七条规则
(注:放行使用ACCEPT,禁止使用DROP)

6、端口准发

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080    #将本机的80端口流量转发到8080端口
iptables -t nat -A OUTPUT -d localhost -p tcp --dport 80 -j REDIRECT --to-ports 8080
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 8282 -j DNAT --to-destination 192.168.217.129:8181
  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-08-10 13:47:35  更:2021-08-10 13:48:47 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 19:23:46-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码