33. linux中firewalld防火墙的地址伪装与地址转发

  • Post author:
  • Post category:linux



Lesson33 linux中firewalld防火墙的地址伪装与地址转发



1. 实验:拒绝ip为172.25.254.250主机访问我的desktopfirewalld火墙服务器

实验目的:拒绝ip为172.25.254.250主机访问我的desktopfirewalld火墙服务器,desktop火墙服务器的ip为172.25.254.114

说明:因为172.25.254.250是别人主机的ip,为了验证实验现象,我先完成拒绝自己的真机(ip为172.25.254.14)访问desktop防火墙服务器

实验步骤:


在desktop服务器端

firewall-cmd --permanent --add-service=ssh  #给火墙永久添加ssh服务
firewall-cmd --reload  #重新加载使其生效
firewall-cmd --list-all  #查看火墙信息列表,查看ssh服务是否已经成功添加

在这里插入图片描述


firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 1 -s 172.25.254.250 -p tcp --dport 22 -j REJECT

#永久添加规则,指定ipv4的filter表的INPUT 1链,数据来源为172.25.254.250的,传输协议为tcp,到达22端口(ssh服务的端口)的动作为拒绝

各参数说明:
–direct 规则
–add-rule 添加规则
指定ipv4的filter表
INPUT-s 数据来源
-p 访问采用的协议
–dport 目的地端口 distnation port
-j 行为动作 REJECT(拒绝有回显)| ACCPET(接受)| DROP(拒绝无回显)

拒绝172.25.254.14访问desktop的firewalld服务器

在这里插入图片描述


在真机进行测试




ssh root@172.25.254114

#查看真机是否能够使用ssh服务连接desktop虚拟机

在这里插入图片描述
可以看到,无法连接至172.25.254.114主机,22端口访问被拒绝

移除拒绝172.25.254.14访问的策略

在这里插入图片描述

在这里插入图片描述

可以看到,此时真机端已经可以通过ssh服务访问desktop服务器端



2. firewalld的源地址伪装(postrouting路由之后)与目的地址转换(prerouting路由之前)


在desktop服务器端必须首先开启防火墙的地址伪装功能和路由功能ip_forward=1


在这里插入图片描述

vim /etc/sysctl.conf #编辑/etc/sysctl.conf文件
 net.ipv4.ip_forward=1  #写入内容使ip_forward=1,开启路由功能
sysctl -p  #刷新使其生效


2.1 源地址伪装(SNAT postrouting路由之后,例如上网)
内部地址要访问公网上的服务时(如web访问),内部地址会主动发起连接,由路由器或者防火墙上的网关对内部地址做个地址转换,将内部地址的私有IP转换为公网的公有IP,网关的这个地址转换称为SNAT,主要用于内部共享IP访问外部。

源地址转换SNAT即内网地址向外访问时,发起访问的内网ip地址转换为指定的ip地址(可指定具体的服务以及相应的端口或端口范围),这可以使内网中使用保留ip地址的主机访问外部网络,即内网的多部主机可以通过一个有效的公网ip地址访问外部网络。
将内网地址转换成公网址(一般是网关的外部地址),所以大家经常会看到为了让内网用户上公网,我们必须在routeros的firewall中设置snat,俗称IP地址欺骗或伪装(masquerade)


在server端测试



在server端(ip为192.168.0.214)添加网关为192.168.0.114,若不添加,则ping不通172.25.254.14

在这里插入图片描述

在这里插入图片描述
重启网络

在这里插入图片描述


route -n

#查看网关是否成功添加

在这里插入图片描述


在desktop服务器端:


从22端口进来的数据都转到172.25.254.15这台主机上去

在这里插入图片描述


在server端测试




ssh root@172.25.254.15

#连接172.25.254.15,登陆上去之后,使用

w -i

查看登陆过15这台主机的ip

在这里插入图片描述

可以看到,虽然登陆172.25.254.15这台主机的ip为192.168.0.214,实际上却是172.25.254.114,说明地址伪装成功



2.2 目的地址转换(DNAT,prerouting路由之前,例如发布网站)
当内部需要提供对外服务时(如对外发布web网站),外部地址发起主动连接,由路由器或者防火墙上的网关接收这个连接,然后将连接转换到内部,此过程是由带有公网IP的网关替代内部服务来接收外部的连接,然后在内部做地址转换,此转换称为DNAT,主要用于内部服务对外发布。

为了不受上一个地址伪装的实验的影响,将172.25.254.15这台主机从desktop服务器端移除

在这里插入图片描述

重新添加172.25.254.14(真机ip)允许访问desktop服务器端,查看列表可以看到forward-ports中成功添加了172.25.254.14, 意思是从22端口进来的数据都转到172.25.254.14这台主机上去

在这里插入图片描述


在真机端进行测试



在真机上

ssh root@172.25.254.114


在这里插入图片描述

这里需要注意,虽然显示的是要求输入172.25.254.114的密码,实际上需要输入真机(172.25.254.14)的密码,这里验证了连接确实会被转到172.25.254.14去

可以看到,能够成功访问desktop服务器


ifconfig br0

#查看真机ip为172.25.14.250

在这里插入图片描述

使用w -i可以看到,172.25.254.114登陆了真机

在这里插入图片描述

做完地址转换的实验,firewalld防火墙实验就暂停了,下边要学习iptables防火墙,因此关掉firewalld服务,设置为不开机自启动,以免对iptables实验造成影响

在这里插入图片描述



版权声明:本文为qq_43687755原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。