我有以下系统图:互联网 –> NAT 网关服务器(服务器 01)–> 应用服务器(服务器 02)。NAT 网关服务器可以访问互联网。服务器 01 和服务器 02 可以互相 ping 通。两台服务器都运行 Centos 7.9。我希望私有子网中的服务器 02 通过 NAT 网关服务器 01 访问互联网。我在这里遇到的问题是服务器 02 无法访问互联网。您能帮我找出这种情况的原因和配置解决方案吗?
服务器01:IP:192.168.100.100/24,网关:192.168.100.254
服务器02:IP:192.168.110.101/24,网关:192.168.110.254
[centos@nat-gateway-server-01 ~]$ ip route
默认通过 192.168.100.254 dev eth0 proto static metric 100
192.168.100.0/24 dev eth0 proto 内核范围链接 src 192.168.100.100 度量 100
[centos@nat-gateway-server-01 ~]$ sudo firewall-cmd –list-all
公开 (活跃)
目标:默认
icmp 块反转:否
接口:eth0
来源:
服务:dhcpv6-客户端 dns http https ssh
端口:
协议:
化装舞会:是的
转发端口:
源端口:
icmp 阻止:
丰富的规则:
rule family="ipv4" source address="192.168.110.0/24" accept
[centos@nat-gateway-server-01 ~]$ sestatus
SELinux 状态:已禁用
[centos@nat-gateway-server-01 ~]$ ping 192.168.110.101
PING 192.168.110.101 (192.168.110.101) 56(84) 字节数据。
来自 192.168.110.101 的 64 字节:icmp_seq=1 ttl=63 时间=0.158 毫秒
来自 192.168.110.101 的 64 字节:icmp_seq=2 ttl=63 时间=0.123 毫秒
— 192.168.110.101 ping 统计 —
发送 4 个数据包,接收 4 个数据包,0% 数据包丢失,时间 3000 毫秒
rtt 最小值/平均值/最大值/mdev = 0.056/0.101/0.158/0.042 毫秒
[centos@nat-gateway-server-01 ~]$ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84)字节数据。
来自 8.8.8.8 的 64 字节:icmp_seq=1 ttl=110 时间=11.6 毫秒
来自 8.8.8.8 的 64 字节:icmp_seq=2 ttl=110 时间=11.5 毫秒
— 8.8.8.8 ping 统计 —
发送 2 个数据包,接收 2 个数据包,0% 数据包丢失,时间 1001 毫秒
rtt 最小值/平均值/最大值/mdev = 11.584/11.596/11.608/0.012 毫秒
[centos@app-server-02 ~]$ ip 路由
默认通过 192.168.110.254 dev eth0 proto static metric 100
192.16.110.0/24 dev eth0 proto 内核范围链接 src 192.168.110.101 度量 100
[centos@app-server-02 ~]$ ping 192.168.100.100
PING 192.168.100.100 (192.168.100.100) 56(84) 字节数据。
来自 192.168.100.100 的 64 字节:icmp_seq=1 ttl=63 时间=0.158 毫秒
来自 192.168.100.100 的 64 字节:icmp_seq=2 ttl=63 时间=0.123 毫秒
— 192.168.100.100 ping 统计信息 —
发送 4 个数据包,接收 4 个数据包,0% 数据包丢失,时间 3000 毫秒
rtt 最小值/平均值/最大值/mdev = 0.056/0.101/0.158/0.042 毫秒
[centos@app-server-02 ~]$ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84)字节数据。
— 8.8.8.8 ping 统计 —
发送了 4 个数据包,接收了 0 个数据包,100% 数据包丢失,耗时 2999 毫秒
[centos@app-server-02 ~]$ sudo 防火墙-cmd –list-all
公开 (活跃)
目标:默认
icmp 块反转:否
接口:eth0
来源:192.168.100.100
服务:dhcpv6-客户端 dns http https ssh
端口:
协议:
化装舞会:是的
转发端口:
源端口:
icmp 阻止:
丰富的规则:
rule family="ipv4" source address="192.168.100.0/24" accept
[centos@app-server-02 ~]$ 状态
SELinux 状态:已禁用
最佳答案
1
- ens18 连接到 ISP 路由器并从 DHCP 获取 IP。
- ens19 连接到我的 LAN 网络,IP 地址为 192.168.100.10,这是手动配置的。
- 对于 nat 服务器:
- 启用 nat 模块:sudo modprobe iptable_nat
- 永久网络转发:
echo “net.ipv4.ip_forward = 1” >> /etc/sysctl.conf
sysctl -p /etc/sysctl.conf - NAT 路由器的后期路由和转发:
iptables -t nat -A POSTROUTING -o ens18 -j MASQUERADE
iptables -A FORWARD -i ens19 -j ACCEPT
- 对于客户端服务器:
- 打印当前路线:
[root@server2 ~]# 路线 -n
内核 IP 路由表
目标网关 Genmask 标志 指标参考
使用 Iface0.0.0.0 192.168.100.1 0.0.0.0 UG 100 0 0 ens18
192.168.100.0 0.0.0.0 255.255.255.0 U 100 0 0 ens18
-
删除默认路由:
route del -net default -
验证默认路由已被删除:
[root@server2 ~]# 路线 -n
内核 IP 路由表
目标网关 Genmask 标志 指标参考
使用 Iface192.168.100.0 0.0.0.0 255.255.255.0 U 100 0 0 ens18
- 为接口添加新的默认网关,网关IP应该是服务器1的IP:
路由添加默认网关 192.168.100.10 dev ens18
- 核实:
[root@server2 ~]# 路线 -n
内核 IP 路由表
目标网关 Genmask 标志 指标参考
使用 Iface0.0.0.0 192.168.100.10 0.0.0.0 UG 100 0 0 ens18
192.168.100.0 0.0.0.0 255.255.255.0 U 100 0 0 ens18
现在尝试连接到互联网。
- 配置 DNS 转发器以访问任何 Web URL:
- 使用 DNS 配置接口,编辑接口配置文件或使用 nmcli 命令添加 DNS:
ls -lthr /etc/sysconfig/network-scripts/ifcfg-ens18
DOMAIN=你的域名.local
- 核实:
root@server2 ~]# cat /etc/resolv.conf
由 NetworkManager 生成
搜索你的域名.local
名称服务器 192.168.0.21
名称服务器 192.168.0.1
相应地改变命令的值。
|
|