Debian,两个网卡 - eth1 上“没有到主机的路由”

Debian,两个网卡 - eth1 上“没有到主机的路由”

我在 debian 盒子中添加了第二个网卡。该网卡用于进行一些测试,因此连接的设备应该能够访问 debian 盒子或从它进行访问。

为了设置网卡,我已添加到/etc/network/interfaces

iface eth1 inet static
    address 192.168.0.2
    netmask 255.255.255.0
    broadcast 192.168.0.255
    network 192.168.0.0

当我执行 ifconfig 时,这些值会显示,并且路线显示:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         adim.hhv3       0.0.0.0         UG    0      0        0 eth0
192.168.0.0     *               255.255.255.0   U     0      0        0 eth1
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0

所以在我看来好像一切都设置正确,但是当我尝试访问 192.168.0.x 网络上的任何设备时,我只是收到“没有到主机的路由”错误。我是否忘记或忽略了什么? (目前我无法测试相反的方式。网卡 LED 指示有一个链接)

事情变得更奇怪了。我已经设置了一个旧的无线路由器,充当 eth1 网络上的 dhcp 服务器。然后 eth1 按预期工作 - 但如果我尝试手动设置它,它就不起作用。手动设置时,我只使用上面提到的接口文件。

从 dhcp 设置:

root@sorbus:~# ip addr (removed loopback and eth0)
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:11:95:84:6b:6c brd ff:ff:ff:ff:ff:ff
inet 192.168.0.142/24 brd 192.168.0.255 scope global eth1
inet6 fe80::211:95ff:fe84:6b6c/64 scope link 
   valid_lft forever preferred_lft forever

root@sorbus:~# ip route
default via 192.168.1.1 dev eth0  proto static 
192.168.0.0/24 dev eth1  proto kernel  scope link  src 192.168.0.142 
192.168.1.0/24 dev eth0  proto kernel  scope link  src 192.168.1.23 

现在它似乎也适用于手动设置......:-/很好,它有效,但很高兴知道为什么......

(我不能在 192.168.0 上使用 dhcp,因为它弄乱了我的 resolv.conf - 至少我没有看到任何方法阻止它这样做)

答案1

192.168.0.x 网络上的主机如何获取其网络配置?如果他们希望通过 DHCP 接收它,您可能需要运行 DHCP 服务器eth1(非常小心不要提供它eth0!)。如果设备没有地址,您将无法路由到它们。

在我的家庭路由器上,我运行 ISC dhcpdeth0同时充当 DHCP 客户端ppp0。相关配置位包括/etc/dhcpd.conf

# Don't attempt dynDNS updates
ddns-update-style none;

# option definitions common to all supported networks...
option domain-name "mydomain";
option domain-name-servers 192.168.0.1;  # This machine

default-lease-time 86400; # 1 day
max-lease-time 864000;    # 10 days


  group {
    # PXE-boot clients
    filename "/pxelinux.0";
    next-server 192.168.0.1;

    host myhost1 {
      hardware ethernet 00:30:18:a5:6b:20;
      fixed-address 192.168.0.66;
      option root-path "192.168.0.1:/export/client/myhost1";
    }
  }

  # Dynamically-leased addresses for visitors
  subnet 192.168.0.0 netmask 255.255.255.0 {
    authoritative;  
    range 192.168.0.128 192.168.0.254;
    option broadcast-address 192.168.0.255;
    option routers 192.168.0.1;
  }

我以前dnsmasq成功运行过eth0(现在仍然如此,但现在仅适用于 DNS 而不是 DHCP)。这是旧的、注释掉的片段/etc/dnsmasq.d/dhcp.conf

#interface=eth0

# read-ethers

# dhcp-range=192.168.0.128,192.168.0.254

# dhcp-host=00:30:18:a5:6b:20,myhost1,192.168.0.66,static

# dhcp-option-force=208,f1:00:74:7e

# dhcp-boot=pxelinux.0

# #enable-tftp
# tftp-root=/var/lib/tftpboot

# log-dhcp

相关内容