리눅스 기초 다지기 - NIC 여러 개 중 어떤 NIC로 통신하는 가?

 

 

위 그림으로 서버/네트워크가 구성되어 있을 때, Control 서버에서 node2 서버로

“ping 192.168.0.110”을 통해 핑을 보내면, enp0s3, enp0s8 둘 중 어떤 NIC를 통해 외부 통신을 하게 될 것인가?

 

 

라우트 정보

[root@control ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         _gateway        0.0.0.0         UG    100    0        0 enp0s3
default         _gateway        0.0.0.0         UG    101    0        0 enp0s8
10.0.0.0        0.0.0.0         255.255.255.0   U     101    0        0 enp0s8
172.17.0.0      0.0.0.0         255.255.255.0   U     100    0        0 enp0s3
192.168.0.0     _gateway        255.255.255.0   UG    101    0        0 enp0s8

라우팅 테이블을 보면, 192.168.0.0 대역 네트워크의 경우는 “enp0s8”을 타고 가게 된다.

따라서 enp0s8(10.0.0.100)을 통해 통신하게 된다.

 

tcpdump으로 통신 과정 확인

[root@control ~]# tcpdump -i enp0s8 -nn
dropped privs to tcpdump
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on enp0s8, link-type EN10MB (Ethernet), snapshot length 262144 bytes
14:57:48.723747 IP 10.0.0.100 > 192.168.0.110: ICMP echo request, id 10, seq 43, length 64
14:57:48.724196 IP 192.168.0.110 > 10.0.0.100: ICMP echo reply, id 10, seq 43, length 64
14:57:49.745701 IP 10.0.0.100 > 192.168.0.110: ICMP echo request, id 10, seq 44, length 64
14:57:49.746412 IP 192.168.0.110 > 10.0.0.100: ICMP echo reply, id 10, seq 44, length 64
14:57:50.786128 IP 10.0.0.100 > 192.168.0.110: ICMP echo request, id 10, seq 45, length 64
14:57:50.786668 IP 192.168.0.110 > 10.0.0.100: ICMP echo reply, id 10, seq 45, length 64
14:57:51.825666 IP 10.0.0.100 > 192.168.0.110: ICMP echo request, id 10, seq 46, length 64
14:57:51.826336 IP 192.168.0.110 > 10.0.0.100: ICMP echo reply, id 10, seq 46, length 64
14:57:52.881579 IP 10.0.0.100 > 192.168.0.110: ICMP echo request, id 10, seq 47, length 64
14:57:52.882131 IP 192.168.0.110 > 10.0.0.100: ICMP echo reply, id 10, seq 47, length 64
14:57:53.939570 IP 10.0.0.100 > 192.168.0.110: ICMP echo request, id 10, seq 48, length 64