저는 두 개의 시스템을 가지고 있는데, 각각에는 두 개의 이더넷 포트가 있는 네트워크 카드가 있습니다. 한 시스템에는 인증된 NIC 카드가 있지만 다른 시스템에는 인증이 필요한 NIC가 있습니다.
ping
네트워크 카드의 인터페이스가 제대로 작동하는지 확인하는 데 사용합니다 .
각 인터페이스가 작동하려면 왜 다른 서브넷에 있어야 합니까 ping
?
예를 들어:
System 1: eth0 (10.0.0.1), eth1 (10.0.1.1) -->This NIC is tested good
^ ^
| |
V V
System 2: eth0 (10.0.0.2), eth1 (10.0.1.2) -->This NIC is being tested
이 설정에서는 eth0
on 이 on System 1
에 연결됩니다 . 그리고 on 은 on 에 연결됩니다 . 나는 submet 마스크를 사용하고 있습니다 . eth0
System 2
eth1
System 1
eth1
System 2
255.255.255.0
그래서 System 2
나는 다음을 수행할 것입니다:
$ ping -I eth0 -c 100 -qA 10.0.0.1
$ ping -I eth1 -c 100 -qA 10.0.1.1
왜 이것을 설정할 수 없나요?
System 1: eth0 (10.0.0.1), eth1 (10.0.0.2) -->This NIC is tested good
^ ^
| |
V V
System 2: eth0 (10.0.0.3), eth1 (10.0.0.4) -->This NIC is being tested
그런 다음 다음을 수행하십시오.
$ ping -I eth0 -c 100 -qA 10.0.0.1
$ ping -I eth1 -c 100 -qA 10.0.0.2
여러 인터페이스를 갖춘 호스트가 있다는 것은 무엇을 의미합니까?
$ netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
10.0.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
192.168.0.0 0.0.0.0 255.255.252.0 U 0 0 0 eth0
답변1
시스템 1과 2에서 eth1에 대해 서로 다른 네트워크를 구성하면 해당 네트워크의 모든 패킷은 기본적으로 eth0 대신 이러한 인터페이스를 사용합니다. 그러나 둘 다 동일한 네트워크에 있는 경우 시스템 2에 특정 경로를 지정하지 않는 한 기본 경로를 통해 전송됩니다. 즉, 패킷이 10.0.0.4에서 10.0.0.2를 통해 전송된다는 의미입니다.
시스템 2의 라우팅 테이블을 보려면 다음을 실행하세요.
netstat -rn
이 네트워크에 특정 경로가 설정되지 않은 경우 기본 경로가 사용됩니다.
이 동작을 변경하려면 시스템 2에서 다음과 유사한 명령을 실행하면 됩니다.
route add -host 10.0.0.2 10.0.0.4
(죄송합니다. 저는 Ubuntu를 사용하지 않으므로 구문이 다를 수 있습니다. 필요한 경우 누군가가 이 답변을 확인하고 편집할 수 있을 것입니다.)