Linux防火墙(Firewalls)

结构关系图

Linux防火墙(Firewalls)_第1张图片

Linux防火墙(Firewalls)_第2张图片

查看这两个防火墙文件

# cat /etc/hosts.deny 

# cat /etc/hosts.allow

Linux防火墙(Firewalls)_第3张图片

查看Linux中防火墙的状态

某个服务是否能由tcpwraps来进行控制关键在于这个服务的模块

图形化界面firewall-config

Linux防火墙(Firewalls)_第4张图片

Linux防火墙(Firewalls)_第5张图片

 

 

 

命令行firewall-cmd

 

 

区域:

查看firewall防火墙有几个zone(区域)

# firewall-cmd --get-zones

 

查看firewall防火墙默认区域

 # firewall-cmd --get-default-zone

查看eno16777736 是否与默认zone绑定在一起。

# firewall-cmd --query-interface=eno16777736 

查看eno16777736是否与home=zone绑定在一起。

# firewall-cmd --query-interface=eno16777736 --zone=home

查看eno16777736与那个zone绑定在一起

# firewall-cmd --get-zone-of-interface=eno16777736

 

 

 

 

接口

删除eno16777736接口

# firewall-cmd --remove-interface=eno16777736

查看eno16777736接口

# firewall-cmd --get-zone-of-interface=eno33554992

添加接口

 # firewall-cmd --zone=home --add-interface=eno33554992

直接更改到默认接口

# firewall-cmd --change-interface=eno33554992

Linux防火墙(Firewalls)_第6张图片

直接更改到指定接口

# firewall-cmd --change-interface=eno33554992 --zone=home

 

 

 

服务:

查看防火墙所有服务

# firewall-cmd --get-services

Linux防火墙(Firewalls)_第7张图片

查看具体的某个服务

# firewall-cmd --get-services | grep http

Linux防火墙(Firewalls)_第8张图片

查看某个服务是否开启

# firewall-cmd --query-service=http 

Linux防火墙(Firewalls)_第9张图片

查看某个服务在指定区域是否开启

# firewall-cmd --query-service=http --zone=home

 添加某个服务

 # firewall-cmd --add-service=http 

Linux防火墙(Firewalls)_第10张图片

移除某个服务

# firewall-cmd --remove-service=http 

Linux防火墙(Firewalls)_第11张图片

以上都是临时生效的

设置成永久生效应该添加permanent

设置成永久生效

# firewall-cmd --remove-service=http --permanent

Linux防火墙(Firewalls)_第12张图片

 

 

 

 

端口

查看端口是否存在

# firewall-cmd --query-port=88/tcp 

# firewall-cmd --query-port=88/tcp --zone=home

Linux防火墙(Firewalls)_第13张图片

临时添加端口(永久)+  --permanent

 # firewall-cmd --add-port=88/tcp 

Linux防火墙(Firewalls)_第14张图片

临时(永久)删除端口  +  --permanent

# firewall-cmd --remove-port=88/tcp 

Linux防火墙(Firewalls)_第15张图片

 

 

更改默认区域:

更改默认的zone为home(永久生效)不需要加permanent

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

更改默认的zone为trusted(绿色通道)永久生效不需要加permanent

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

 

以上为命令行如何操作、设置firewall-config

 

---------------------------------------------------------------------------------------------------------------------------------------------

查看默认的zone里面所有的设置

# firewall-cmd --list-all

Linux防火墙(Firewalls)_第16张图片

查看home、zone里面所有的设置。

 # firewall-cmd --list-all --zone=home 

Linux防火墙(Firewalls)_第17张图片

查看是否配置Apache  httpd服务

# systemctl is-active httpd

 

 

 

source(来源):

 Linux防火墙(Firewalls)_第18张图片

添加source(来源)规则到home,zone里面并查看

# firewall-cmd --add-source=192.168.0.0/24 --zone=home

# firewall-cmd --list-all --zone=home

Linux防火墙(Firewalls)_第19张图片

删除home,zone里面source(来源)规则

# firewall-cmd --remove-source=192.168.0.0/24 --zone=home

 

 

 

 

ICMP过滤器

在图形界面中,打钩不允许,不打钩允许。

ICMP类型:

echo-request(没有打钩允许ping,打钩不允许ping)

echo-reply

查看ICMP服务

# firewall-cmd --get-icmptypes 

查看ICMP某一模块的状态

# firewall-cmd --query-icmp-block=echo-request

Linux防火墙(Firewalls)_第20张图片

删除ICMP某一模块

# firewall-cmd --remove-icmp-block=echo-request

Linux防火墙(Firewalls)_第21张图片

添加ICMP某一模块

# firewall-cmd --add-icmp-block=echo-request

Linux防火墙(Firewalls)_第22张图片

 

 

 

 

Linux防火墙(Firewalls)_第23张图片

准备三台虚拟机,分别作为内网、外网、路由器(两张网卡)

 

路由器:

路由器需要两张网卡,第二张网卡需要同内网在同一个LAN区段

 路由器IP地址

Linux防火墙(Firewalls)_第24张图片

 路由器查看转发功能、并开启

# cat /proc/sys/net/ipv4/ip_forward 

# echo 1 > /proc/sys/net/ipv4/ip_forward 

查看并配置网关

# route -n

Linux防火墙(Firewalls)_第25张图片

添加网关

# route add default gw 10.0.0.1

Linux防火墙(Firewalls)_第26张图片

 

内网:

内网网卡,要与路由器LAN在同一区段

内网IP

Linux防火墙(Firewalls)_第27张图片

 

外网:

外网网卡

 外网IP

Linux防火墙(Firewalls)_第28张图片

外网网关与路由器IP相同,则内网能ping同

外网网关与路由器IP不同,则内网不能ping同

但不影响抓包

Linux防火墙(Firewalls)_第29张图片

内网ping外网抓包

抓包

# tcpdump -i eno16777736 icmp

Linux防火墙(Firewalls)_第30张图片

 

 

 

伪装:

抓包的时候隐藏私有地址

 

查看伪装区域

# firewall-cmd --query-masquerade

添加伪装区域(临时生效)

# firewall-cmd --add-masquerade 

删除伪装区域(临时生效)

# firewall-cmd --remove-masquerade 

 

 

 

端口转发(端口映射)

查看firewall信息

# firewall-cmd --list-all

Linux防火墙(Firewalls)_第31张图片

删除映射端口

# firewall-cmd --remove-forward-port='port=80:proto=tcp:toport=:toaddr=10.0.0.2'

Linux防火墙(Firewalls)_第32张图片

添加映射端口

# firewall-cmd --add-forward-port='port=80:proto=tcp:toport=:toaddr=10.0.0.2'

Linux防火墙(Firewalls)_第33张图片

 

 

付规则(Rich Rules)

打开英文版的,中文版的有bug

#LANG=C firewall-config &

Linux防火墙(Firewalls)_第34张图片

查看Rich Rules 信息

# firewall-cmd --list-rich-rules 

 

删除Rich Rules

# firewall-cmd --remove-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" port port="80" protocol="tcp" accept'

 

添加Rich Rules

remove改add

Linux防火墙(Firewalls)_第35张图片

控制是否能上网:masquerade

转载于:https://www.cnblogs.com/djlsunshine/p/9691311.html

你可能感兴趣的:(Linux防火墙(Firewalls))