데비안, 두 개의 네트워크 카드 - eth1에 "호스트에 대한 경로 없음"

데비안, 두 개의 네트워크 카드 - eth1에 "호스트에 대한 경로 없음"

데비안 상자에 두 번째 네트워크 카드를 추가했습니다. 이 네트워크 카드는 일부 테스트를 수행하는 데 사용되므로 연결된 장치는 데비안 상자 또는 여기에서 액세스할 수 있어야 합니다.

/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!). 장치에 주소가 없으면 해당 장치로 라우팅할 수 없습니다.

내 홈 라우터에서는 DHCP 클라이언트 역할을 하면서 dhcpdISC 를 실행합니다 . 관련 구성 비트는 다음과 같습니다 .eth0ppp0/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(지금도 수행하고 있지만 지금은 DHCP가 아닌 DNS만 사용하고 있습니다). 다음은 주석 처리된 오래된 코드 조각입니다 /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

관련 정보