目录
DNAT策略拓扑图:
问题一:当我们访问内网的Web服务的时候,我们防火墙服务器的80端口和Web服务器的8000端口是否需要一直调用程序监控呢?
DNAT的作用就是可以帮助我们进行路由转发功能
问题二:当我们在继续DNAT实验的时候,Web服务器和firewall网关服务器的LAN口都采用的是hostonly模式,我们如何在不使用Windows的Vmnet1网卡(hostonly模式)而使Windows上的Xshell连接上Web服务器呢?
因此我们可以得知,我们可以通过不同的端口号发布内网不同的服务器(如Mysql、redis、nginx等)
DNAT策略配置文件:
问题三:为什么当我们完成DNAT实验后,外网的机器能通过firewall网关服务器访问我们的Web服务器的网页,但是我们自己的firewall网关服务器不能访问Web客户机的网页呢?
问题四:配置完SNAT和DNST规则后,如果我们对firewall网关服务器进行重启,SNAT和DNST策略会失效,我们应该如何解决呢?
步骤:
堡垒机和跳板机
堡垒机和跳板机的作用:
推荐使用:JumpServer - 开源堡垒机 - 官网
堡垒机/跳转机策略拓扑图:
MASQUERADE(与SNAT同等效果的MASQUERADE策略(伪装))
MASQUERADE策略的配置:
查看配置:
无线信号弱 --》导致传输的速度会减慢 --》网速变慢
三创无线网络部署拓扑图:
DNAT策略拓扑图:
问题一:当我们访问内网的Web服务的时候,我们防火墙服务器的80端口和Web服务器的8000端口是否需要一直调用程序监控呢?
当我们使用A机器访问Web服务器的时候,访问的网址是http://192.168.1.254:80,它(A)访问的是我们防火墙服务器WAN口网卡的80端口,防火墙服务器会帮助我们将它的访问映射到我们Web服务器(内网)的8000端口,防火墙服务器采取的是DNAT策略,它会帮助我们将数据映射到192.168.2.80:8000去,因此我们内网的机器(Web服务器)必须监听8000端口,但是我们的防火墙服务器不需要去监听80端口,因为当A机器发送数据包的时候,我们的防火墙服务器会去检查它发送的数据包内TCP的封装,了解它的目的端口是多少(防火墙服务器并不会提供一个服务去监听80端口,它只需要知道目的端口是80就可以了),如果是80,它就会自动启用iptables内设定的DNAT策略去转发数据包给Web服务器的8000端口。
DNAT的作用就是可以帮助我们进行路由转发功能
问题二:当我们在继续DNAT实验的时候,Web服务器和firewall网关服务器的LAN口都采用的是hostonly模式,我们如何在不使用Windows的Vmnet1网卡(hostonly模式)而使Windows上的Xshell连接上Web服务器呢?
Web服务器不使用Windows的vmnet1网卡(hostonly模式),如何才能连接到内网使Windows上的Xshell连接上Web服务器呢?也许我们可以通过设置firewall网关服务器DNAT策略实现,我们通过在firewall网关服务器上配置端口2234(随机端口)与Web服务器的22号端口产生映射关系(DNAT策略),我们通过Windows访问firewall的2234端口即可访问Web服务器的22号端口(SSH协议),就能通过Xshell连接上Web服务器。
因此我们可以得知,我们可以通过不同的端口号发布内网不同的服务器(如Mysql、redis、nginx等)
DNAT策略配置文件:
[root@router nat]# cat snat_dnat.sh
#!/bin/bash#enable routing
echo 1 >/proc/sys/net/ipv4/ip_forward############# stop firewall and clear iptables rule
service firewalld stopiptables -F
iptables -t nat -F###########enable snat
iptables -t nat -A POSTROUTING -s 192.168.91.0/24 -o ens33 -j SNAT --to-source 192.168.2.138
###########enable dnat
iptables -t nat -A PREROUTING -d 192.168.2.138 -i ens33 -p tcp --dport 80 -j DNAT --to-destination 192.168.91.80:8000#open ssh 2233 --->192.168.91.80 22
iptables -t nat -A PREROUTING -d 192.168.2.138 -i ens33 -p tcp --dport 2233 -j DNAT --to-destination 192.168.91.80:22# expose mysql
iptables -t nat -A PREROUTING -d 192.168.2.138 -i ens33 -p tcp --dport 33060 -j DNAT --to-destination 192.168.91.81:3306#EXPOSE redis
iptables -t nat -A PREROUTING -d 192.168.2.138 -i ens33 -p tcp --dport 6397 -j DNAT --to-destination 192.168.91.83:6397[root@router nat]#
问题三:为什么当我们完成DNAT实验后,外网的机器能通过firewall网关服务器访问我们的Web服务器的网页,但是我们自己的firewall网关服务器不能访问Web客户机的网页呢?
其实原因很简单,这个问题有关于我们的iptables防护机制了(四表五链)
当我们转发外网机器的数据的时候,我们通过的是FORWARD链来进行数据的转发(只是对数据进行了路由转发)(FORWARD链有效通过需要我们打开firewall网关服务器的路由转发功能),因此数据不会经过网关服务器内核(下图为皇宫)的处理,只是经过路由转发,因此自然可以访问到我们的Web服务器上去。
但是当我们自己的firewall网关服务器想要访问Web服务器的时候,我们必须通过内核去访问自己的路由表(需要访问皇宫)才能去访问Web服务器(数据本来就已经在firewall网关服务器了,所以数据不会通过PREROUTING链,而是本来就在皇城之内),但是我们的DNAT策略是配置在PREROUTING链上的,导致数据无法进行DNAT策略改变目的IP,而且我们需要使用内核(需要通过INPUT链和OUTPUT链),因此数据无法通过iptables的防护机制,最后便无法访问上我们的Web服务器的网页了
路由表也是linux内核维护的
问题四:配置完SNAT和DNST规则后,如果我们对firewall网关服务器进行重启,SNAT和DNST策略会失效,我们应该如何解决呢?
原因:snat和dnat策略(规则) 存放在linux系统的内核里的,内核里的信息是存放在内存里,内存里的数据停电不保存就会丢失
步骤:
-
自动加载配置:设备上通常提供有自动加载配置文件的功能。将您的SNAT和DNAT规则保存在一个配置文件中,并配置设备在重启时自动加载该文件,以确保在重启后规则能够生效。
-
开机启动 这个snat_dnat.sh脚本(用于配置SNAT和DNAT策略的脚本)
-
/etc/rc.local文件在linux系统开机启动的时候会自动执行里面的命令
-
[root@router ~]# vim /etc/rc.local bash /nat/snat_dnat.sh[root@router nat]# chmod +x /etc/rc.d/rc.local 授予/etc/rc.d/rc.local可执行权限 路由表 是存放在内存里的 路由表也是linux内核维护的[root@router network-scripts]# cat /etc/rc.local #!/bin/bash # THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES # # It is highly advisable to create own systemd services or udev rules # to run scripts during boot instead of using this file. # # In contrast to previous versions due to parallel execution during boot # this script will NOT be run after all other services. # # Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure # that this script will be executed during boot.touch /var/lock/subsys/local bash /nat/snat_dnat.sh #开机运行snat_dnat.sh脚本打开DNAT和SNAT功能 ip route add 192.168.100.0/24 via 192.168.91.123 #添加静态路由 ip route add 192.168.200.0/24 via 192.168.91.123 echo 1 >/proc/sys/net/ipv4/ip_forward #打开linux的路由器功能 [root@router network-scripts]# 路由功能开机是否会开启?echo 1 >/proc/sys/net/ipv4/ip_forward
堡垒机和跳板机
堡垒机的作用主要是提供安全的远程访问和管理内部网络资源的方式,以保护内部网络免受未经授权的访问和攻击
堡垒机和跳板机的作用:
访问控制与权限管理:堡垒机作为入口点,对远程用户进行身份验证、授权和访问控制。只有经过验证和授权的用户才能连接到内部网络资源,从而防止未经授权的访问。
安全隧道:堡垒机通过建立加密的通信隧道(如SSH)来确保远程连接的安全性。它可以防止攻击者监听、窃取或篡改数据传输。
推荐使用:JumpServer - 开源堡垒机 - 官网
堡垒机/跳转机策略拓扑图:
MASQUERADE(与SNAT同等效果的MASQUERADE策略(伪装))
MASQUERADE策略的配置:
[root@router nat]# cat snat_dnat.sh
#!/bin/bash#enable routing
echo 1 >/proc/sys/net/ipv4/ip_forward############# stop firewall and clear iptables rule
service firewalld stopiptables -F
iptables -t nat -F###########enable snat
#iptables -t nat -A POSTROUTING -s 192.168.91.0/24 -o ens33 -j SNAT --to-source 192.168.2.138
iptables -t nat -A POSTROUTING -s 192.168.91.0/24 -o ens33 -j MASQUERADE
#内网来的192.168.91.0网段过来的ip地址全部伪装(替换)为ens33接口的公网ip地址,好处就是不需要考虑ens33接口的ip地址是多少,你是哪个ip地址,我就伪装成哪个ip地址
###########enable dnat
iptables -t nat -A PREROUTING -d 192.168.2.138 -i ens33 -p tcp --dport 80 -j DNAT --to-destination 192.168.91.80:8000#open ssh 2233 --->192.168.91.80 22
iptables -t nat -A PREROUTING -d 192.168.2.138 -i ens33 -p tcp --dport 2233 -j DNAT --to-destination 192.168.91.80:22# expose mysql
iptables -t nat -A PREROUTING -d 192.168.2.138 -i ens33 -p tcp --dport 33060 -j DNAT --to-destination 192.168.91.81:3306#EXPOSE redis
iptables -t nat -A PREROUTING -d 192.168.2.138 -i ens33 -p tcp --dport 6397 -j DNAT --to-destination 192.168.91.83:6397[root@router nat]#
内网来的192.168.91.0网段过来的ip地址全部伪装(替换)为ens33接口的公网ip地址,好处就是不需要考虑ens33接口的ip地址是多少,你是哪个ip地址,我就伪装成哪个ip地址
查看配置:
[root@router nat]# iptables -t nat -L -n
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DNAT tcp -- 0.0.0.0/0 192.168.2.138 tcp dpt:80 to:192.168.91.80:8000
DNAT tcp -- 0.0.0.0/0 192.168.2.138 tcp dpt:2233 to:192.168.91.80:22
DNAT tcp -- 0.0.0.0/0 192.168.2.138 tcp dpt:33060 to:192.168.91.81:3306
DNAT tcp -- 0.0.0.0/0 192.168.2.138 tcp dpt:6397 to:192.168.91.83:6397Chain INPUT (policy ACCEPT)
target prot opt source destination Chain OUTPUT (policy ACCEPT)
target prot opt source destination Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- 192.168.91.0/24 0.0.0.0/0
[root@router nat]#
WLAN(无线局域网):
它是一种使用无线通信技术连接设备并建立本地网络的技术。与传统的有线局域网相比,WLAN通过无线信号传输数据,而不需要使用物理的有线连接。这使得用户可以在范围内自由移动并连接到网络。
它具有以下几个优点:
便捷性:WLAN允许无线连接,不需要使用有线电缆,使得用户可以在范围内自由移动,方便进行移动办公或者设备之间的无线连接。用户可以随时随地接入网络,提高工作效率和灵活性。
灵活性:通过WLAN,用户可以在覆盖范围内的任何位置连接到网络,无需受限于有线连接的位置和距离限制。这使得WLAN适用于各种场景,如家庭、办公室、公共场所等。
扩展性:WLAN可以轻松扩展网络的覆盖范围,通过添加额外的访问点(AP)来实现。对于大型场所或需要覆盖较大面积的环境,如企业办公楼、酒店、校园等,WLAN提供了方便的解决方案。
节省成本:相比传统布线网络,WLAN的部署和维护成本相对较低。WLAN不需要拉设复杂的有线网络,减少了布线成本和劳动力成本。此外,WLAN的灵活性和扩展性还可以降低网络设备的采购成本。
共享资源:WLAN允许多个用户同时连接到同一个网络,共享网络资源。这方面的典型例子是无线路由器在家庭或办公室中提供共享互联网连接。
移动性:WLAN对于移动设备非常友好,如智能手机、平板电脑和笔记本电脑等。它们可以在覆盖范围内自动切换访问点,同时保持网络连接。这对于需要移动工作的用户来说非常有用。
缺点:
无线信号其他人也可以搜索到,还可以破解,蹭网
有安全上的缺陷,容易获取整个局域网里的其他电脑的信息
信号受干扰影响:WLAN使用无线信号进行通信,而无线信号容易受到物理障碍物、其他电子设备的干扰以及高噪声环境的影响。这可能导致信号质量下降、连接不稳定或速度变慢。
有限的覆盖范围:WLAN的覆盖范围受限于无线访问点(AP)的发射范围和信号传播特性。相比有线网络,WLAN的覆盖范围较小,需要在目标区域内安装多个AP来提供全面的覆盖。
安全性问题:WLAN通信是通过无线信号传输的,因此更容易受到安全威胁,如未经授权的访问、数据窃取、黑客入侵等。为确保数据的机密性和网络的安全性,必须采取适当的加密和安全措施。
性能受限:与有线网络相比,WLAN的带宽和传输速度可能受到限制。由于无线信号在传输过程中可能面临干扰和传输损耗,WLAN的性能可能不如有线网络稳定和高效。
设备兼容性:WLAN依赖于无线技术标准,如WiFi标准。不同设备可能支持不同的WiFi协议或频段,缺乏设备之间的兼容性可能导致连接问题或性能下降。
电池消耗:使用WLAN连接的移动设备(如智能手机、平板电脑等)在无线通信过程中消耗更多的电池电量,相比于使用有线连接的设备。
无线网络: 房间比较多,面积比较大,无线信号不好,如何解决?
可以使用母子路由器,能扩大Wifi覆盖的面积。
无线信号弱 --》导致传输的速度会减慢 --》网速变慢
WiFi: 无线技术
蓝牙: Bluetooth