提问人:SBond 提问时间:1/31/2018 更新时间:1/31/2018 访问量:303
在同一网络接口 (UDP) 上回复
Reply on same network interface (UDP)
问:
是否可以在同一网络接口上回复所有传入的数据包/请求?
这是我的设置:我有一个带有两个网络接口(eth0 和 eth1)的无头 Raspberry Pi (raspbian)。第一个接口 (eth0) 使用公共 IP 地址,该地址是静态的。此接口旨在通过 Internet 提供对 Pi(时间和 Web 服务器,SSH)的访问。第二个接口(eth1)使用Raspberry Pi进行一般Internet连接(执行更新,同步自己的时间或其他),并通过DHCP使用动态IP。无法通过 eth0 进行一般的 Internet 连接,因此我必须在 Pi 上使用 eth1。
我的问题是 Internet(在 Pi 上)和对 Pi 的 Internet 访问无法正常工作。
第一个配置 (/etc/dhcpcd.conf):
interface eth0
static ip_address=141.41.241.68/28
static routers=141.41.241.65 192.168.0.1
重新启动后,“ifconfig”显示正确的 IP 设置:
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 141.41.241.68 netmask 255.255.255.240 broadcast 141.41.241.79
...
eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.101 netmask 255.255.255.0 broadcast 192.168.0.255
...
结果:
- Raspberry Pi (eth1) 上的 Internet:不起作用
- 通过 Internet 访问 Raspberry Pi(通过 eth0):
- SSH (TCP):工作正常
- Apache Web 服务器 (TCP):工作正常
- NTP 时间服务器 (UDP):工作正常
现在我尝试更改接口的度量,希望优先级的更改成功
第二种配置 (/etc/dhcpcd.conf):
interface eth1
metric 200
interface eth0
static ip_address=141.41.241.68/28
static routers=141.41.241.65 192.168.0.1
metric 201
结果:
- Raspberry Pi (eth1) 上的互联网:工作正常
- 通过 Internet 访问 Raspberry Pi(通过 eth0):
- SSH (TCP):不起作用
- Apache Web 服务器 (TCP):不工作
- NTP 时间服务器 (UDP):不工作
还行。我认为默认情况下所有流向 eth1 的流量。使用工具“iptraf-ng”,我能够看到问题:
TCP Connections (Source Host:Port) Iface
--------------------------------------------------
80.187.108.126:53024 eth0
141.41.241.68:80 eth0
141.41.241.68:80 eth1
80.187.108.126:53024 eth1
80.187.108.126:53025 eth0
141.41.241.68:80 eth0
141.41.241.68:80 eth1
80.187.108.126:53025 eth1
UDP Connections
--------------------------------------------------
UDP (76 bytes) from 80.187.108.126:28599 to 141.41.241.68:123 on eth0
UDP (76 bytes) from 192.168.0.101:123 to 80.187.108.126:28599 on eth1
我们看到:
在 TCP 上:某些连接传出到错误的接口 (eth1)。
在 UDP 上:来自 80.187.108.126 的请求来自 eth0,响应通过 eth1 发送。
接下来,我定义了路由表来回复同一网络接口上的传入数据包...
echo 100 public >> /etc/iproute2/rt_tables
ip rule add from 141.41.241.68/32 table public
ip route add default via 141.41.241.65 dev eth0 table public
结果:
- Raspberry Pi (eth1) 上的互联网:工作正常
- 通过 Internet 访问 Raspberry Pi(通过 eth0):
- SSH (TCP):工作正常
- Apache Web 服务器 (TCP):工作正常
- NTP 时间服务器 (UDP):不工作
和“iptraf-ng”显示:
TCP Connections (Source Host:Port) Iface
--------------------------------------------------
141.41.241.68:80 eth0
80.187.108.126:52083 eth0
141.41.241.68:80 eth0
80.187.108.126:52084 eth0
141.41.241.68:80 eth0
80.187.108.126:52085 eth0
141.41.241.68:80 eth0
80.187.108.126:52086 eth0
141.41.241.68:80 eth0
80.187.108.126:52087 eth0
UDP Connections
--------------------------------------------------
UDP (76 bytes) from 80.187.108.126:28599 to 141.41.241.68:123 on eth0
UDP (76 bytes) from 192.168.0.101:123 to 80.187.108.126:28599 on eth1
我们看到:
在TCP上:现在它可以正常工作
在 UDP 上:同样的问题:(
如何通过正确的接口 (eth0) 发送 UDP 响应?我不知道为什么TCP工作正常,但UDP失败:( 这非常令人沮丧,我没有更多的想法。 我希望有人能帮忙。
此致敬意 SBond(SBond)
答: 暂无答案
评论