![具有两个网卡的 LAN 服务器,即使可以工作,也无法 telnet/ping 到第二个网卡](https://linux22.com/image/45508/%E5%85%B7%E6%9C%89%E4%B8%A4%E4%B8%AA%E7%BD%91%E5%8D%A1%E7%9A%84%20LAN%20%E6%9C%8D%E5%8A%A1%E5%99%A8%EF%BC%8C%E5%8D%B3%E4%BD%BF%E5%8F%AF%E4%BB%A5%E5%B7%A5%E4%BD%9C%EF%BC%8C%E4%B9%9F%E6%97%A0%E6%B3%95%20telnet%2Fping%20%E5%88%B0%E7%AC%AC%E4%BA%8C%E4%B8%AA%E7%BD%91%E5%8D%A1.png)
我的 Ubuntu 12.04 LTS(更新)服务器有问题。
由于原因太长,无法详细说明,它已将 1 个 eth0 接口分配给 192.168.1.9,将 1 个 Wifi wlan0 接口分配给 192.168.1.10。两者都必须从启动时起就可以工作。
我还安装了(我需要监控软件)Lubuntu桌面核心并删除了网络管理器(重新启动)并使用wpa_supplicant + /etc/network/interface硬编码配置和固定IP。
一切都很顺利……硬件方面。在 Lubuntu 桌面上,我可以通过 eth0 浏览互联网。如果我ifdown eth0
然后拔掉它,我就可以愉快地通过 wlan0 浏览互联网了。所以wpa_supplicant
看起来它正在做它的工作。
问题是...
我需要能够同时打开两个接口和两者都必须响应 ping、从 LAN 中的其他计算机进行 SSH 连接等。在与网关/路由器(位于 192.168.1.1)通信以退出互联网时需要使用 wlan0。
但是,如果我将两个接口都打开,eth0 会继续工作,但 wlan0 变得无法访问(也不会再连接到任何东西,因此问题是双向的)。尝试从我的 Win 8 计算机执行 ping 操作会出现与没有到主机的路由时看到的相同错误,可惜它仍在 LAN 的同一网段上:我的 Win 8 位于 192.168.1.69,服务器的 wlan0 位于 192.168。 1.10.
您知道我可以从哪里开始照顾吗?
这是一些配置文件
ifconfig
:lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:18 errors:0 dropped:0 overruns:0 frame:0 TX packets:18 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:1613 (1.6 KB) TX bytes:1613 (1.6 KB) wlan0 Link encap:Ethernet HWaddr 00:c0:49:fc:db:3f inet addr:192.168.1.10 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::2c0:49ff:fefc:db3f/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:16376 errors:0 dropped:0 overruns:0 frame:0 TX packets:3337 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:4675792 (4.6 MB) TX bytes:543084 (543.0 KB)
当我使用 启用 eth0 时
ifup
,我添加了以下节:eth0 Link encap:Ethernet HWaddr 00:0e:a6:aa:5b:be inet addr:192.168.1.9 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
route -n
:Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.1.1 0.0.0.0 UG 100 0 0 wlan0 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
如果我禁用 eth0 当然相关的行就会消失。 IPTables 显示干净(全新的 Ubuntu 安装),我正在使用 UFW,但目前我也禁用了它。
iptables -L -nv
:Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination
在
hosts
文件中,我有两个接口,设置为不同的名称。- 我
resolv.conf
只得到了 DNS 服务器 IP 和域子句。
答案1
我以前也遇到过类似的问题。如果一台机器有两个网络设备,那么默认情况下它们都无法看到对方。设置网络路由是一个问题,但我花了很长时间才发现,我也必须设置 ip_forwarding。
echo 1 > /proc/sys/net/ipv4/ip_forward
但是您的配置还有另一个问题。我认为你不能为同一 IP 范围设置两个标准网关。我想将您的 lan 放入范围 192.168.2.0/24,将您的 wlan 放入范围 192.168.1.0/24。