firewalld与iptables练习

目录

1、禁止一个IP访问

2、清空默认的防火墙默认规则:

3、保存清空后的防火墙规则表

4、firewall-cmd --list-all

5、查看所有的防火墙策略

6、firewall-cmd --reload

7、查看可以添加的服务

8、添加服务

9、查询指定端口是否已开.开启:yes,未开启:no

10、添加指定端口

11、删除指定端口

12、snat转换

13、将本机80端口请求转发到另外一台主机的8080端口

14、将本机的80端口请求转发到本机的8080端口

15、封锁IP


1、禁止一个IP访问

iptables -I INPUT -s $ip -j REJECT


2、清空默认的防火墙默认规则:

iptables -F

3、保存清空后的防火墙规则表

service iptables save

4、firewall-cmd --list-all


#查看防火墙规则(只显示/etc/firewalld/zones/public.xml中防火墙策略)


5、查看所有的防火墙策略

firewall-cmd --list-all-zones


#(即显示/etc/firewalld/zones/下的所有策略)


6、firewall-cmd --reload


#重新加载配置文件

配置了的都需要重新加载配置文件


7、查看可以添加的服务

firewall-cmd --get-services
firewall-cmd --get-services | grep ftp


8、添加服务

firewall-cmd --zone=public --add-service=ftp --permanent


9、查询指定端口是否已开.开启:yes,未开启:no


10、添加指定端口

firewall-cmd --add-port=53/tcp --permanent


11、删除指定端口

firewall-cmd --remove-port=53/tcp --permanent


12、snat转换

iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -o eth0 -j SNAT --to-source
20.20.20.11

当源地址是 内网网段 并且出口网卡为 eth0 的时候进行 SNAT 转换

查看记录是否保存成功

iptables -t nat -L


13、将本机80端口请求转发到另外一台主机的8080端口

iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 目标主机IP:8080


14、将本机的80端口请求转发到本机的8080端口

sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
 


15、封锁IP

iptables -A INPUT -s 封闭的IP地址 -j DROP 和 iptables -I INPUT -s $ip -j REJECT 是iptables命令中用于封锁IP地址的两种不同方式。

  1. iptables -A INPUT -s 封闭的IP地址 -j DROP:

    • 使用 "-A" 参数表示在规则链的末尾添加规则。
    • "-s" 参数指定源IP地址,即要封闭的IP地址。
    • "-j DROP" 表示匹配到该规则后,将丢弃(drop)该数据包,即完全忽略该数据包。
  2. iptables -I INPUT -s $ip -j REJECT:

    • 使用 "-I" 参数表示在规则链的开头插入规则。
    • "-s" 参数指定源IP地址,即要封闭的IP地址。
    • "-j REJECT" 表示匹配到该规则后,将拒绝(reject)该数据包,即向发送方发送一个拒绝的响应。

区别:

  • 添加规则的位置不同:第一种方式是在规则链的末尾添加规则,第二种方式是在规则链的开头插入规则。
  • 动作不同:第一种方式使用 DROP 动作,完全忽略该数据包;第二种方式使用 REJECT 动作,向发送方发送一个拒绝的响应。

选择使用哪种方式取决于具体的需求。如果希望完全忽略该数据包,不给发送方任何响应,可以使用 DROP 动作。如果希望向发送方发送一个拒绝的响应,告知其连接被拒绝,可以使用 REJECT 动作。


16、iptables和firewalld的区别

Firewalld和iptables是两种不同的防火墙管理工具,它们在实现和使用上有一些区别。

  1. 架构和设计:Firewalld是基于动态防火墙管理器的概念构建的,它使用D-Bus和NetworkManager来实现动态更新防火墙规则。而iptables是一个基于内核的防火墙工具集,它直接与Linux内核交互来配置和管理防火墙规则。

  2. 管理方式:Firewalld使用基于区域的管理方式,将网络接口和连接的安全级别划分为不同的区域,并为每个区域定义相应的访问规则。这种管理方式更加灵活和易于管理。而iptables使用基于规则链的管理方式,通过定义规则链和规则来控制网络流量。

  3. 动态更新:Firewalld支持动态更新防火墙规则,可以在运行时添加、删除或修改规则,而无需重启防火墙服务。这使得在实时环境中进行防火墙配置更加方便。而iptables的规则是静态的,需要手动编辑配置文件或使用命令来更新规则。

  4. 简化配置:Firewalld提供了更高级别的抽象和简化的配置接口,使得配置防火墙规则更加易于理解和操作。它还提供了图形界面和命令行工具来管理防火墙。而iptables的配置相对更底层和复杂,需要直接编辑规则和表。

总的来说,Firewalld相对于iptables提供了更高级别的抽象和动态更新的能力,使得防火墙配置更加灵活和易于管理。然而,iptables仍然是一个强大而灵活的工具,适用于需要更细粒度控制的场景。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值