티스토리 뷰
1 | 라우터 개념 잡기 |
패킷의 정보를 추출하여, 목적지까지 최적의 경로를 탐색하여 지정한 후, 데이터 패킷을 전송할 수 있게 해주는 장치입니다.
이때, 목적지까지 최적의 경로를 탐색하여 지정해주는 과정을 '라우팅'이라고 합니다.
2 | 라우팅 테이블 이해하기 |
라우팅 테이블은 목적지에 도달하기까지 거쳐야 할, 모든 목적지 정보를 보유하고 있습니다.
이를 통해, 특정 패킷을 수신하게 되면, 라우팅 테이블을 검사하여, 최적의 목적지를 탐색 선정하여 패킷을 전송하는 것입니다.
3 | 라우팅 테이블 살펴보기 |
리눅스에서 라우터 설정정보를 확인하면, 아래와 같은 라우팅 테이블 정보 확인이 가능합니다.
1. 현재 시스템에 설정된 라우팅 테이블을 확인 할 수 있습니다.
# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default _gateway 0.0.0.0 UG 0 0 0 eth0
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
테이블 필드 중, 아래 필드는 기본적으로 숙지하길 바랍니다.
- Destination : 목적지
- Gateway : 외부로 나가기 위한 게이트웨이 주소
- Genmask : 목적지 넷마스크 주소
- Iface : 사용할 네트워크 인터페이스 ( 해당 정보는 아래 명령어를 통해 확인 가능합니다. )
1. ifconfig 명령어를 통해 네트워크 인터페이스를 확인 할 수 있습니다.
# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.17.0.2 netmask 255.255.0.0 broadcast 172.17.255.255
RX packets 30 bytes 2720 (2.6 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 10 bytes 666 (666.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
2. 아래 경로에서 네트워크 인터페이스 설정 정보를 확인 할 수 있습니다.
# ll /etc/sysconfig/network-scripts/
ifcfg-eth0
ifcfg-lo
아래는 라이퉁 테이블 설정 후, 목적지까지 정상패킷 전송여부 내용이 참고하시기 바랍니다.
⚠️ Tip.traceroute |
라우팅 테이블 설정 후, 목적지까지 정상적으로 패킷이 전송되는지 네트워크 경로를 추적할 수 있는 명령어로 실무에서 많이 사용됩니다. |
- 구글 DNS까지 도달하기 위해 거치는 라우터 IP를 추적하여 출력합니다.
# traceroute 8.8.8.8
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets
1 _gateway (172.17.0.1) 0.173 ms 0.029 ms 0.054 ms
2 192.168.64.1 (192.168.64.1) 1.079 ms 0.977 ms 0.934 ms
3 192.168.200.254 (192.168.200.254) 3.611 ms 3.380 ms 3.219 ms
4 10.2.0.1 (10.2.0.1) 10.835 ms 10.679 ms 10.590 ms
5 172.21.245.193 (172.21.245.193) 10.565 ms 10.528 ms 10.486 ms
6 172.18.129.21 (172.18.129.21) 10.393 ms 8.232 ms 8.270 ms
7 172.18.129.197 (172.18.129.197) 11.208 ms 11.184 ms *
8 172.18.129.82 (172.18.129.82) 16.488 ms 15.297 ms 172.18.129.222 (172.18.129.222) 15.224 ms
9 192.145.251.169 (192.145.251.169) 51.658 ms 55.882 ms 192.145.251.168 (192.145.251.168) 40.821 ms
10 108.170.242.97 (108.170.242.97) 40.786 ms 108.170.242.161 (108.170.242.161) 46.578 ms 108.170.242.193 (108.170.242.193) 42.730 ms
11 108.170.236.5 (108.170.236.5) 47.184 ms 142.251.60.193 (142.251.60.193) 47.430 ms 72.14.237.223 (72.14.237.223) 45.080 ms
12 dns.google (8.8.8.8) 53.795 ms 50.008 ms 51.371 ms
🔵 [Linux] 라우터(route) 확인/추가/삭제에 대한 자세한 내용은 아래 글을 참고해주세요.
- 패킷
- 네트워크에서 전달되는 데이터의 형식화된 블록입니다.
- 라우팅 프로토콜
- 라우터 간 통신 방식을 규정하는 통신 규약을 말합니다.
참고자료
'프로그래밍 > Linux' 카테고리의 다른 글
Linux - node 버전 업데이트 방법 (0) | 2021.08.27 |
---|---|
[Linux] 쉘스크립트 - Docker 컨테이너 재시작 (0) | 2021.03.27 |
[Linux] apache http 접속 시, https로 redirect (0) | 2021.03.24 |
[Linux] 압축 ( tar , gzip ) (0) | 2019.03.19 |
[Linux] 라우터(route) 확인/추가/삭제 (0) | 2017.07.18 |
댓글