我是一名 Linux 新手,正在尝试在 ubuntu 19.10 上设置公共 IP 地址。
我的 netplan 文件如下所示:
# Let NetworkManager manage all devices on this system
network:
version: 2
renderer: NetworkManager
ethernets:
ens160:
dhcp4: no
addresses: [192.168.1.254/24]
nameservers:
addresses: [192.168.1.1]
ens192:
dhcp4: no
addresses: [85.111.101.244/29]
gateway4: 85.111.101.241
nameservers:
addresses: [62.179.1.62, 62.179.1.63]
路由表:
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 85.111.101.241 0.0.0.0 UG 101 0 0 ens192
85.111.101.240 0.0.0.0 255.255.255.248 U 101 0 0 ens192
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 ens160
192.168.1.0 0.0.0.0 255.255.255.0 U 100 0 0 ens160
从本地网络开始192.168.1.254一切正常。我可以访问网站、ssh、从 Windows 远程登录到 netcat 的任何端口(机器上的防火墙已关闭)。Ping 公共地址85.111.101.244(已更改) 运行正常,但我无法使用此公共 IP 查看网站或远程登录到任何端口。我的意思是,当我远程登录到任何端口(例如 80)时,它看起来都正常(屏幕空白), 但没有数据传输。我使用 netcat 做了一些测试:
我运行了netcat:
nc -l 2399
我
telnet 85.111.101.241 2399
从我的 Windows 机器上运行。屏幕空白就像它正在工作,但没有数据传输。netstat | grep 2399
显示:tcp 0 0 天空:2399 85.111.101.244:57921 SYN_RECV
tcpdump -i ens192 port 2399
显示如下:
监听 ens192,链路类型 EN10MB(以太网),捕获大小 262144 字节 20:10:41.623769 IP 85.111.101.244.57976 > sky.2399:标志 [S],序列 3016494046,win 64240,选项 [mss 1460,nop,wscale 8,nop,nop,sackOK],长度 0 20:10:41.623834 IP sky.2399 > 85.111.101.244.57976:标志 [S.],seq 253445637,ack 3016494047,win 64240,选项 [mss 1460],长度 0
当我为本地地址,一切正常。我不知道为什么它卡在SYN_RECV
公共 IP 上。我担心这可能是网络本身的问题。但是当我将此网络切换到我的 Windows 服务器计算机时,一切正常,我能够从互联网进入网站。
我将非常感激任何建议。
答案1
您在两个接口上都配置了网关。这使得使用哪个网络接口来传输默认流量变得不明确。
您的 netplan yaml 中应该只配置一个网关。如果出于某种原因您需要两个默认路由,那么您需要使用路由策略。