728x90
1. 라우팅 (Routing)이란?
라우팅이란 한 네트워크에서 다른 네트워크로 패킷을 이동시키는 과정과 네트워크 안의 호스트에게 패킷들을 전달하는 과정을 말한다.
리눅스 시스템은 미리 설정되어 있는 라우팅 테이블이라는 지도를 보고 패킷을 어떤 네트워크 인터페이스를 거쳐 목적지로 보낼지 결정한다.
2. 리눅스 라우팅 설정
2.1 라우팅 설정 명령어
리눅스에서는 "route -n" 명령어로 확인이 가능하다.
(-n 명령어는 이름을 확인하지 않겠다는 뜻으로, 기본 게이트웨이의 IP값이 "gateway"라는 이름으로 출력되지 않게 해준다.)
bumday@bumday-VirtualBox:~$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 100 0 0 enp0s3
bumday@bumday-VirtualBox:~$
- Destination: 목적지
- Gateway: 외부 네트워크와 연결하기 위한 게이트웨이 주소
- Genmask: 목적지 네트워크의 넷마스크 주소. "255.255.255.255"로 지정되어 있으면 목적지 호스트의 주소, 0.0.0.0으로 지정되어 있으면 기본 게이트웨이 주소를 의미한다.
- Flags: 해당 경로에 대한 정보를 알려주는 기호.
- U(up)는 이 경로가 살아있는 상태
- H(host)는 목적지가 호스트 주소라는 뜻
- G(gateway)는 게이트웨이를 향하는 경로를 의미
- Metric: 목적지 네트워크까지의 거리
- Ref: 경로를 참조한 횟수
- Use: 경로를 탐색한 횟수
- Iface: 패킷이 오가는 데 사용할 네트워크 인터페이스
이 시스템에서는 192.168.1.1부터 192.168.1.254까지 향하는 패킷은 enp0s3 으로 보낼 수 있지만 그외에 다른 곳으로는 패킷을 전달할 수 없다.
아래 명령어로 기본 gateway IP를 추가해보자.
bumday@bumday-VirtualBox:~$ sudo route add default gw 192.168.1.1
추가된 default gateway 행 확인
bumday@bumday-VirtualBox:~$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 enp0s3
192.168.1.0 0.0.0.0 255.255.255.0 U 100 0 0 enp0s3
바뀐 라우팅 테이블을 살펴보면 192.168.1.0 네트워크가 아닌 다른 네트워크로 나가는 패킷은 모두 default로 지정되어 있는 192.168.1.1로 enp0s3 을 통해 보내게 된다.
2.2 라우팅 설정 예제
123.45.123.0, 234.56.234.0 으로 패킷을 보낼때는 192.168.1.1 gw로 보내야 된다고 가정해보자.
sudo route -n add -net 123.45.123.0 netmask 255.255.255.0 gw 192.168.1.1
sudo route -n add -net 234.56.234.0 netmask 255.255.255.0 gw 192.168.1.1
라우팅 테이블을 다시 조회해 보았을때 아래와 같이 추가된것을 확인할 수 있다.
bumday@bumday-VirtualBox:~$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 enp0s3
192.168.1.0 0.0.0.0 255.255.255.0 U 100 0 0 enp0s3
123.45.123.0 192.168.1.1 255.255.255.0 UG 0 0 0 enp0s3
234.56.234.0 192.168.1.1 255.255.255.0 UG 0 0 0 enp0s3
bumday@bumday-VirtualBox:~$
#References
반응형
'Server > Linux' 카테고리의 다른 글
visudo와 vi /etc/sudoers 의 차이점 (0) | 2021.12.23 |
---|---|
특정 유저로 sudo명령어가 안될때 (XXX is not in the sudoers file.) (0) | 2021.12.22 |
리눅스 에러 Could not get lock /var/lib/dpkg/lock-frontend (0) | 2021.12.07 |
리눅스 네트워크 포트 상태 확인 (0) | 2021.11.30 |
루트 권한 사용 - sudo와 su의 차이점 (0) | 2021.08.01 |