linux--Firewalld、Iptables防火墙的设置

简介:

一、Firewalld
1..启动服务
systemctl start firewalld
firewall-config ##打开图形管理界面
图示:图形管理界面
linux--Firewalld、Iptables防火墙的设置
Configuration 的设置有两种:permanent 永久设定
Runtime 临时设定,设定临时后需(reload),重新加载
示例:永久添加http服务到public
[root@localhost ~]# vim /etc/firewalld/zones/public.xml 
linux--Firewalld、Iptables防火墙的设置
ZONE:【一般默认public】
Trusted(信任):可接受所有的网络连接
Home(家庭):用于家庭网络,仅接受ssh、mdns、ipp-client、或dhcpv6-client服务连接
Inter(内部):用于内部网络,仅接受ssh、mdns、ipp-client、或dhcpv6-client服务连接
Work(工作):用于工作区,仅接受ssh、ipp-client、或dhcpv6-client服务连接
Public(公共):在公共区域内使用,仅接受ssh或dhcpv6-client赴俄u连接,为firewalld的默认区域
Enternal(外部):出去的ipv4网络连接通过此区域伪装和转发,仅接受ssh服务连接
Dmz(非军事区):仅接受ssh服务连接
Block(限制):拒绝所有网络连接
Drop(丢弃):任何接收的网络数据包被丢弃,没有任何恢复

内容:
Services ##firewalld提供的服务
Ports ##端口
Masquerading ##伪装
Port forwarding ##端口转发
Interfaces ##接口
Sources ##指定源地址

2..基本参数的设定
查看firewall当前状态
查看当前活动的工作区域
linux--Firewalld、Iptables防火墙的设置
查看当前默认的工作区域
linux--Firewalld、Iptables防火墙的设置
查看所拥有的工作区域
linux--Firewalld、Iptables防火墙的设置
查看所有可设置的服务
linux--Firewalld、Iptables防火墙的设置
查看当前默认区域的内容
linux--Firewalld、Iptables防火墙的设置
查看指定的trusted区的内容
linux--Firewalld、Iptables防火墙的设置
设置默认区域为trusted
linux--Firewalld、Iptables防火墙的设置

永久添加可接收数据包来源,需要重新加载
linux--Firewalld、Iptables防火墙的设置
永久移除可接收数据包来源
linux--Firewalld、Iptables防火墙的设置
永久在trusted区域添加数据包来源
linux--Firewalld、Iptables防火墙的设置
移除
linux--Firewalld、Iptables防火墙的设置
在trusted区域添加eth0接口
linux--Firewalld、Iptables防火墙的设置
在默认区添加可访问端口8080,协议为tcp
linux--Firewalld、Iptables防火墙的设置
移除8080端口
linux--Firewalld、Iptables防火墙的设置
Firewall-cmd --reload (执行明快ing为永久的时候,每次执行完徐重新加载,不然命令不会生效。如果向取消可以执行--complete-reload)

3.direct参数设定
查看当前国有的direct rules
添加direct rules,设置为ipv4,在filter表中第一条,60主机可以访问,访问端口22,协议tcp

linux--Firewalld、Iptables防火墙的设置

4.伪装和端口转发
开启伪装
linux--Firewalld、Iptables防火墙的设置
添加伪装
linux--Firewalld、Iptables防火墙的设置

测试伪装:用ssh去连接60主机,用(w -i)查看登陆历史,显示的是121主机IP,伪装成功
linux--Firewalld、Iptables防火墙的设置

端口转发(不转发之前不能连接)
linux--Firewalld、Iptables防火墙的设置

测试:用1虚拟机访问60主机,查看是IP为121主机进行访问
linux--Firewalld、Iptables防火墙的设置

注意:
/usr/lib/firewalld/services 中存放了firewalld策略可以添加的服务,都以xml格式存在
linux--Firewalld、Iptables防火墙的设置
linux--Firewalld、Iptables防火墙的设置

二、IPTABLES 【防火墙的管理工具】
实验前需要关闭firewalld,得到一个纯净的环境
linux--Firewalld、Iptables防火墙的设置
安装iptables
linux--Firewalld、Iptables防火墙的设置
开启iptables服务

linux--Firewalld、Iptables防火墙的设置

iptables -F##刷新策略
iptables -t ##指定列表,默认filter
iptables -I INPUT 2 -p tcp --dport 23 -j DROP:插入到第二条策略
iptables -E allowed disallowed:修改规则链名称
iptables -D INPUT 3:删除filter表中的第三条规则
iptables -R INPUT 3 -j ACCEPT:将原来编号为3的规则内容替换为-j
iptables -P INPUT DROP: 设置filter表INPUT链的默认规则 ,当数据包没
有被规则列表里的任何规则匹配到时,按此默认规则处理
iptables -t nat -nL:查看nat策略
iptables -t nat -L PREROUTING:查看nat表PREROUTING链的规则
iptables
iptables
iptables
iptables
有4可以连接
-N redhat:添加自定义链名
-D redhat 1:删除自定义链下的策略
-X redhat:删除自定义链
-A INPUT -s !192.168.0.4 -p tcp --dport 23 -j REJECT:只
-i eth0:匹配从网络接口 eth0 进来
-o eth0:匹配从网络接口 eth0 出去
-s 192.168.0.1:匹配来自 192.168.0.1 的数据包
-d 202.106.0.0/16 匹配去往 202.106.0.0/16 网络的数据包

1.部分示例:
查看filter表中的策略
linux--Firewalld、Iptables防火墙的设置
刷新filter表中的策略
linux--Firewalld、Iptables防火墙的设置

保存之前的策略到kelnel
linux--Firewalld、Iptables防火墙的设置
Iptables -A INPUT -i lo -j ACCPET ##允许lo访问
Iptables -A INPUT -P tcp -dporp 22 -j ACCPET ##允许访问22端口
Iptables -A INPUT -s 172.25.254.60 -j ACCPET ##允许60主机访问所有
Iptables -A INPUT -j REJECT ##拒绝所有
Iptables -nL | cat -b ##在执行cat时加行号
linux--Firewalld、Iptables防火墙的设置

插入到第2条策略
linux--Firewalld、Iptables防火墙的设置
删除INPUT链的第三条策略
linux--Firewalld、Iptables防火墙的设置
修改INPUT中的第二条策略
linux--Firewalld、Iptables防火墙的设置
把INPUT的policy由之前默认ACCEPT修改为DROP
linux--Firewalld、Iptables防火墙的设置

2..标识策略:
Iptables -A INPUT -m state --state NEW -i lo -j ACCEPT ##检测第一次使用lo用户访问,访问成功后可以直接允许访问
Iptables -A INPUT -m state --state NEW -p tcp --dport 22 -j ACCEPT ##检测第一次使用端口22访问,访问成功后可以直接允许访问
Iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
Iptables -A INPUT -j REJECT ##除以上条件的全部拒绝
linux--Firewalld、Iptables防火墙的设置

3.NAT的设置
SNAT:改变转发数据包的源地址 --to-source:
DNAT:改变转发数据包的目的地址 --to-dest:
Iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 172.25.254.121 ##改变转发数据包的目的地址为172.25.254.121

Iptables -t nat -A POSTROUTING -i eth0 -d 172.25.254.121 -j DNAT --to-dest 172.25.0.1 ##改变转发数据包的源地址为172.25.0.1
linux--Firewalld、Iptables防火墙的设置
linux--Firewalld、Iptables防火墙的设置



本文转自 無緣 51CTO博客,原文链接:http://blog.51cto.com/13352594/2048137

相关文章
|
8月前
|
Ubuntu Linux 网络安全
在Linux云服务器上限制特定IP进行SSH远程连接的设置
温馨提示,修改iptables规则时要格外小心,否则可能导致无法远程访问你的服务器。最好在掌握足够技术知识和理解清楚操作含义之后再进行。另外,在已经配置了防火墙的情况下,例如ufw(Ubuntu Firewall)或firewalld,需要按照相应的防火墙的规则来设置。
452 24
|
8月前
|
Java 关系型数据库 MySQL
在Linux操作系统上设置JDK、Tomcat、MySQL以及J2EE后端接口的部署步骤
让我们总结一下,给你的Linux操作系统装备上最强的军队,需要先后装备好JDK的弓箭,布置好Tomcat的阵地,再把MySQL的物资原料准备好,最后部署好J2EE攻城车,那就准备好进军吧,你的Linux军团,无人可挡!
202 18
|
9月前
|
Linux Shell
在Linux、CentOS7中设置shell脚本开机自启动服务
以上就是在CentOS 7中设置shell脚本开机自启动服务的全部步骤。希望这个指南能帮助你更好地管理你的Linux系统。
857 25
|
Linux 网络性能优化 网络安全
Linux(openwrt)下iptables+tc工具实现网络流量限速控制(QoS)
通过以上步骤,您可以在Linux(OpenWrt)系统中使用iptables和tc工具实现网络流量限速控制(QoS)。这种方法灵活且功能强大,可以帮助管理员有效管理网络带宽,确保关键业务的网络性能。希望本文能够为您提供有价值的参考。
2426 28
|
监控 安全 Linux
启用Linux防火墙日志记录和分析功能
为iptables启用日志记录对于监控进出流量至关重要
449 1
|
监控 Oracle 关系型数据库
Linux平台Oracle开机自启动设置
【11月更文挑战第8天】在 Linux 平台设置 Oracle 开机自启动有多种方法,本文以 CentOS 为例,介绍了两种常见方法:使用 `rc.local` 文件(较简单但不推荐用于生产环境)和使用 `systemd` 服务(推荐)。具体步骤包括编写启动脚本、赋予执行权限、配置 `rc.local` 或创建 `systemd` 服务单元文件,并设置开机自启动。通过 `systemd` 方式可以更好地与系统启动过程集成,更规范和可靠。
943 2
|
Oracle Ubuntu 关系型数据库
Linux平台Oracle开机自启动设置
【11月更文挑战第7天】本文介绍了 Linux 系统中服务管理机制,并详细说明了如何在使用 systemd 和 System V 的系统上设置 Oracle 数据库的开机自启动。包括创建服务单元文件、编辑启动脚本、设置开机自启动和启动服务的具体步骤。最后建议重启系统验证设置是否成功。
471 1
|
关系型数据库 MySQL Linux
Linux系统如何设置自启动服务在MySQL数据库启动后执行?
【10月更文挑战第25天】Linux系统如何设置自启动服务在MySQL数据库启动后执行?
804 3
|
存储 运维 Linux
Linux防火墙firewall的使用
CentOS 7 中的 firewalld 是基于 Netfilter 的防火墙服务,支持动态配置,无需重启服务即可生效。它通过区域管理网络流量,每个区域可以设置不同的防火墙规则。默认区域为 public,可以通过命令行工具 firewall-cmd 进行管理和配置。firewalld 提供了丰富的预定义服务和区域,方便用户根据需求进行灵活配置。
284 0
|
Linux 应用服务中间件 nginx
Linux下权限设置之suid、sgid、sticky
Linux下权限设置之suid、sgid、sticky