리눅스에서 ip rule 명령어는 정책 기반 라우팅(Policy-based routing, PBR)을 관리하기 위한 도구입니다. 정책 기반 라우팅은 기본적인 경로 설정과는 다르게, 소스 주소, 목적지 주소, 패킷의 특성 등에 따라 서로 다른 라우팅 테이블을 참조할 수 있게 하는 기능입니다. 일반적으로 고급 네트워크 설정에서 사용되며, 여러 개의 네트워크 인터페이스가 존재하거나, 특정 트래픽을 특정 경로로 전달해야 하는 상황에서 유용합니다.
ip rule 명령어의 기본 사용법
ip rule add [설정]
이 명령어는 새로운 라우팅 규칙을 추가하는데 사용됩니다. 또한 라우팅 규칙을 삭제하고 싶다면 del을 사용할 수 있습니다.
ip rule del [설정]
ip rule 명령어 주요 옵션
- from [IP주소]: 소스 IP를 기준으로 라우팅 규칙을 설정합니다.
- to [IP주소]: 목적지 IP를 기준으로 라우팅 규칙을 설정합니다.
- table [테이블 번호]: 참조할 라우팅 테이블을 지정합니다.
- priority [숫자]: 규칙의 우선순위를 설정합니다. 낮을수록 우선순위가 높습니다.
ip rule을 사용한 예시
특정 네트워크 인터페이스에서 들어오는 패킷을 다른 라우팅 테이블을 통해 처리하고 싶다고 가정해 봅시다. 예를 들어, 192.168.1.0/24 네트워크 대역의 트래픽을 테이블 100을 통해 처리하려는 상황입니다.
sudo ip rule add from 192.168.1.0/24 table 100
이 명령어는 192.168.1.0/24 대역에서 오는 트래픽이 라우팅 테이블 100을 사용하도록 설정합니다.
라우팅 테이블 확인
ip rule 명령어로 추가한 규칙을 확인하려면 다음 명령어를 사용합니다.
ip rule show
user@linux:~$ ip rule show
0: from all lookup local
32766: from all lookup main
32767: from all lookup default
100: from 192.168.1.0/24 lookup 100
위의 예시는 192.168.1.0/24에서 들어오는 트래픽이 테이블 100을 참조하는 것을 확인할 수 있습니다. 기본적으로 local, main, default 테이블은 자동으로 제공됩니다.
ip rule 삭제 예시
필요에 따라 라우팅 규칙을 삭제할 수도 있습니다. 예를 들어, 앞에서 추가한 192.168.1.0/24 대역의 규칙을 삭제하려면 다음 명령어를 실행합니다.
sudo ip rule del from 192.168.1.0/24 table 100
삭제된 후 다시 ip rule show 명령어로 확인하면 해당 규칙이 사라졌음을 확인할 수 있습니다.
user@linux:~$ ip rule show
0: from all lookup local
32766: from all lookup main
32767: from all lookup default
정책 기반 라우팅의 유용성
정책 기반 라우팅은 여러 네트워크 경로가 존재하거나, 특정 트래픽을 특정 경로로 보낼 필요가 있을 때 매우 유용합니다. 예를 들어, VPN을 통해 특정 트래픽을 보내거나, 다중 ISP를 사용할 때 유용하게 적용할 수 있습니다.
참고사이트
'Linux' 카테고리의 다른 글
[리눅스] dmidecode 명령어 완벽 가이드 사용법(시스템 하드웨어 정보 확인) (0) | 2024.10.24 |
---|---|
[리눅스] tshark 명령어 완벽 가이드 사용법(Wireshark의 CLI 버전) (0) | 2024.10.24 |
[리눅스] iftop 명령어 완벽 가이드 사용법(네트워크 트래픽 모니터링) (1) | 2024.10.24 |
[리눅스] tcpdump 명령어 완벽 가이드 사용법(네트워크 패킷 캡처) (0) | 2024.10.23 |
[리눅스] fail2ban 명령어 완벽 가이드 사용법(보안 침해 방지 도구) (1) | 2024.10.23 |
[리눅스] ufw 명령어 완벽 가이드 사용법(간단한 방화벽 설정) (0) | 2024.10.23 |
[리눅스] ss 명령어 완벽 가이드 사용법(네트워크 연결 및 소켓 상태 확인) (0) | 2024.10.23 |
[리눅스] journalctl 명령어 완벽 가이드 사용법(systemd 로그 확인) (0) | 2024.10.23 |