我在云中拥有两台 CentOS 8 服务器,还有通过 vpn 连接的笔记本电脑。
第一个是vpn服务器。
ip route
default via 192.168.1.1 dev eth0 proto dhcp metric 100
10.0.0.0/16 via 10.0.0.1 dev ens10 proto static
10.0.0.1 dev ens10 scope link
192.168.1.1 dev eth0 proto dhcp scope link metric 100
192.168.200.0/24 dev tun7 proto kernel scope link src 192.168.200.1
ip -4 addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
inet 192.168.1.2/32 scope global dynamic noprefixroute eth0
valid_lft 67739sec preferred_lft 67739sec
3: ens10: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc fq_codel state UP group default qlen 1000
inet 10.0.0.3/32 brd 10.0.0.3 scope global dynamic ens10
valid_lft 67800sec preferred_lft 67800sec
13: tun7: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 1000
inet 192.168.200.1/24 brd 192.168.200.255 scope global tun7
valid_lft forever preferred_lft forever
iptables -nvL
Chain INPUT (policy ACCEPT 209K packets, 57M bytes)
pkts bytes target prot opt in out source destination
16 960 ACCEPT all -- tun7 * 0.0.0.0/0 10.0.0.0/16
3 252 ACCEPT all -- tun7 * 0.0.0.0/0 192.168.200.0/24
Chain FORWARD (policy ACCEPT 937 packets, 56220 bytes)
pkts bytes target prot opt in out source destination
3 252 ACCEPT all -- * tun7 10.0.0.0/16 0.0.0.0/0 ctstate RELATED,ESTABLISHED
20 1272 ACCEPT all -- tun7 * 0.0.0.0/0 10.0.0.0/16
0 0 ACCEPT all -- * tun7 192.168.200.0/24 0.0.0.0/0
0 0 ACCEPT all -- tun7 * 0.0.0.0/0 192.168.200.0/24
Chain OUTPUT (policy ACCEPT 195K packets, 60M bytes)
pkts bytes target prot opt in out source destination
6 528 ACCEPT all -- * tun7 10.0.0.0/16 0.0.0.0/0
659 57980 ACCEPT all -- * tun7 192.168.200.0/24 0.0.0.0/0
第二个是暴露在 10.0.0.2:80 的内部 Web 服务器
default via 192.168.1.1 dev eth0 proto dhcp metric 100
10.0.0.0/16 via 10.0.0.1 dev enp7s0 proto static
10.0.0.1 dev enp7s0 scope link
192.168.1.1 dev eth0 proto dhcp scope link metric 100
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
inet 192.168.1.3/32 scope global dynamic noprefixroute eth0
valid_lft 82616sec preferred_lft 82616sec
3: enp7s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc fq_codel state UP group default qlen 1000
inet 10.0.0.2/32 brd 10.0.0.2 scope global dynamic enp7s0
valid_lft 82677sec preferred_lft 82677sec
笔记本电脑
ip route
default via 192.168.0.1 dev enp67s0f0 proto dhcp metric 100
10.0.0.0/16 via 192.168.200.1 dev tun0
192.168.0.0/24 dev enp67s0f0 proto kernel scope link src 192.168.0.16 metric 100
192.168.200.0/24 dev tun0 proto kernel scope link src 192.168.200.6
网络
192.168.1.0/24 由云托管管理。它是公共网络。10.0.0.0/16 由云托管管理。它是容器之间的网络。182.168.200.0/24 是 vpn,由我管理。192.168.0.0/24 是我的家庭网络
我不知道如何在计算机之间设置路由,以便我可以从笔记本电脑访问网页。
据我所知,问题是由于我的 Web 服务器缺少到 VPN 的路由。但如果我尝试将路由设置为
ip route add 192.168.200.0/24 via 10.0.0.3
由于 /32 掩码,10.0.0.3 不在与 10.0.0.2 同一网络中,因此失败。
答案1
与云提供商沟通,将路由添加192.168.200.0/24 via 10.0.0.3
到容器网络配置中。
在网络服务器上添加路由192.168.200.0/24 via 10.0.0.1
。