我对 netplan 和高级 linux 网络还不熟悉,所以我希望有人能帮助我解决我的问题。
我有两台机器,一台 unraid nas 和一台 ubuntu 18.04 服务器。每台机器都有两个以太网网络接口。我尝试使用每台机器上的一个接口将它们连接到我的 LAN,同时使用其他接口通过交叉电缆将它们直接连接在一起。
我的机器设置如下
解除突袭
- eth0 > LAN,DHCP,192.168.1.x
- eth1 > 直接,静态,10.0.0.1/24
Ubuntu
- enp2s0 > 局域网,DHCP,192.168.1.x
- enp3s5 > 直接,静态,10.0.0.2/24
我设法使用 Ubuntu 服务器上的这个 netplan 配置让机器相互连接。
network:
version: 2
renderer: networkd
ethernets:
enp2s0:
dhcp4: yes
enp3s5:
dhcp4: no
addresses:
- 10.0.0.2/24
gateway4: 10.0.0.2
这似乎有效,直到我尝试从互联网 ssh 进入我的 ubuntu 服务器。我在 LAN 路由器上设置了端口转发,并且已经成功使用此设置几个月了。现在失败了,我去做了一些研究,并route -n
在我的 ubuntu 服务器上运行,得到了以下输出。
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use
Iface
0.0.0.0 10.0.0.2 0.0.0.0 UG 0 0 0 enp3s5
0.0.0.0 192.168.1.1 0.0.0.0 UG 100 0 0 enp2s0
10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 enp3s5
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 enp2s0
192.168.1.1 0.0.0.0 255.255.255.255 UH 100 0 0 enp2s0
从我了解到的情况来看,我的机器似乎会使用网关 10.0.0.2 来尝试响应 LAN 子网外的请求,因为它的度量值较低。这可以解释为什么我无法从网络外部通过 ssh 进入这台机器,因为只有我的 LAN 可以访问互联网。
我的第一个想法是将更大的度量值定义为 enp3s5。这是正确的做法吗?还是我错了?
任何帮助将非常感激。
答案1
“从我的 LAN 外部连接”是什么意思?
除非您有一个带有转发规则的网关,否则您无法从外部访问 192.168.xx 或 10.xxx 或任何其他私有 IPv4。