我有一台带有 WiFi 和以太网的计算机。
它通过 WiFi 连接到 LAN,我想允许它的以太网端口连接到另一台没有 WiFi 的计算机。
我已经使用了“共享到其他计算机”方法,并且这对于互联网连接来说运行正常。
看起来像这样:
Computer 1 (Wifi)
IP: 192.168.1.10
Netmask: 255.255.255.0
Gateway: 192.168.1.1
Computer 1 (Ethernet)
IP: 10.42.0.1
Netmask: 255.255.255.0
Gateway: 192.168.1.1
Computer 2 (Ethernet)
IP: 10.42.0.172
Netmask: 255.255.255.0
Gateway: 10.42.0.1
DNS: 10.42.0.1
我希望能够从任何计算机通过 LAN 上的 FTP 连接到计算机 2。
我目前只能从计算机 1(与计算机 2 共享以太网端口的计算机)连接
例如介绍计算机3:
Computer 3 (Ethernet)
IP: 192.168.1.30
Netmask: 255.255.255.0
Gateway: 192.168.1.1
答案1
IP 路由是逐跳的,因此路由只需要知道它的邻居。例如,您的计算机 2 不是任何计算机 3 的邻居,因此您需要主机特定的路由。
在您当前的设置中,默认网关是 192.168.1.1,因此不发往您网络(192.168.1.0)上任何设备的流量都将通过网关发送。但网络上的任何设备都被认为具有直接路径,因此计算机 3 执行 arp 来呼叫计算机 2,但由于它们不在同一个以太网上,因此它永远不会响应。
要访问计算机 2,您必须通过 192.168.1.10 路由流量
在计算机 3 上,您可以添加此路线
ip route add 192.168.1.251 via 192.168.1.10
网络管理器中有一个静态路由菜单可以进行此项设置。
在计算机 2 上,您必须确保所有内容都通过网关,因为计算机 3 无法直接访问,所以您必须删除自动创建的路由。
ip route del 192.168.1.0/24
检查往返每一步的路由。还要确保防火墙允许流量,并且计算机 1 允许转发,但我猜这已经通过“共享给其他”选项实现了。
sysctl -w net.ipv4.ip_forward=1