本地搭建网关服务器
准备,三台虚拟机,其中一台装两块网卡
第一步
网卡一192.168.177.100(192.168.177.0段,连内网);网卡二12.0.0.1(连外网12.0.0.10,仅主机)
[root@31yml network-scripts]#vim ifcfg-ens36
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens36
DEVICE=ens36
ONBOOT=yes
IPADDR=12.0.0.1
NETMASK=255.255.255.0
#网关删掉
#再重启网络服务
[root@31yml network-scripts]#systemctl restart network
让服务器拥有路由转发的功能——调优
[root@31yml network-scripts]#vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
#再使配置生效
[root@31yml network-scripts]#sysctl -p
net.ipv4.ip_forward = 1
第二步
[root@yml-2 named]#vim /etc/sysconfig/network-scripts/ifcfg-ens33
#重启网络服务
[root@yml-2 named]#systemctl restart network
#查看当前网关
[root@yml-2 named]#route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.177.100 0.0.0.0 UG 100 0 0 ens33
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
192.168.177.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
第三步
配置防火墙策略snat
#先清理之前的nat配置
[root@31yml network-scripts]#iptables -F -t nat
[root@31yml network-scripts]#iptables -F
[root@31yml ~]#iptables -t nat -A POSTROUTING -s 192.168.177.0/24 -o ens36 -j SNAT --to 12.0.0.1
-t 选表
-A 选链
-s 选接收网段
-o 选出口网卡
-j 选跳转方式
--to 选目的地址
配置防火墙策略dnat
[root@31yml ~]#iptables -t nat -A PREROUTING -s 12.0.0.0/24 -p tcp --dport 80 -j DNAT --to 192.168.177.200
[root@yml-2 html]#tail -f /var/log/httpd/access_log
192.168.177.100 - - [19/Aug/2023:14:55:47 +0800] "GET / HTTP/1.1" 403 4897 "-" "curl/7.29.0"
12.0.0.10 - - [19/Aug/2023:15:05:58 +0800] "GET / HTTP/1.1" 403 4897 "-" "curl/7.29.0"
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了