ip 명령은 Linux 시스템 관리자가 알아야 하는 네트워크 인터페이스를 구성하기 위한 강력한 도구입니다. 인터페이스를 위/아래로 가져오고, 주소와 경로를 할당 및 제거하고, ARP 캐시를 관리하는 등 다양한 용도로 사용됩니다.
이 자료에서는 가장 일반적인 옵션에 대한 실제 사례와 자세한 설명을 통해 ip 명령어 사용 방법을 설명합니다.
ip 명령 사용 방법
IP 유틸리티는 모든 최신 Linux 배포 환경에 설치된 iproroute2 패키지의 일부입니다.
ip 명령의 구문은 다음과 같습니다.
ip [ OPTIONS ] OBJECT { COMMAND | help }
OBJECT는 관리할 개체 유형입니다. 가장 자주 사용되는 개체(또는 하위 명령)는 다음과 같습니다.
link (l) - 네트워크 인터페이스를 표시하고 수정합니다.
address (a) - IP 주소를 표시하고 수정합니다.
route(r) - 라우팅 테이블을 표시하고 변경합니다.
Neigh(n) - 인접 개체를 표시하고 조작합니다(ARP 테이블).
객체는 전체 또는 약어(짧은) 형태로 작성할 수 있습니다. 각 개체에 대한 명령 및 인수 목록을 표시하려면 IP OBJECT 도움말을 입력합니다.
네트워크 인터페이스를 구성할 때는 명령을 루트 또는 sudo 권한을 가진 사용자로 실행해야 합니다. 그렇지 않으면 명령이 RTNETLINK answers : Operation not permitted 뜰 것입니다.
ip 명령을 사용하여 설정된 구성이 영구적이지 않습니다. 시스템을 다시 시작하면 모든 변경 사항이 손실됩니다. 영구적으로 변경하려면 디스트로별 구성 파일을 편집하거나 명령을 시작 스크립트에 추가해야 합니다.
IP 주소를 표시하고 수정
addr 개체로 작동할 때 명령은 다음과 같은 형식을 취합니다.
ip addr [ COMMAND ] ADDRESS dev IFNAME
addr 개체에서 가장 자주 사용되는 COMMANDS는 show, add 및 del입니다.
모든 IP 주소에 대한 정보를 표시
모든 네트워크 인터페이스 및 관련 IP 주소 목록을 표시하려면 다음 명령을 입력합니다.
ip addr show
# 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
# link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
# inet 127.0.0.1/8 scope host lo
# valid_lft forever preferred_lft forever
# 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
# link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff
# inet 192.168.121.241/24 brd 192.168.121.255 scope global dynamic eth0
# valid_lft 2900sec preferred_lft 2900sec
# inet6 fe80::5054:ff:fe8c:6244/64 scope link
# valid_lft forever preferred_lft forever
show 명령을 생략하고 ip addr을 입력하면 동일한 출력이 나옵니다.
IPv4 또는 IPv6 IP 주소만 표시하려면 ip-4 addr 또는 ip-6 addr를 사용하십시오.
단일 네트워크 인터페이스에 대한 정보를 표시
특정 네트워크 인터페이스에 대한 정보를 가져오려면 ip addr show dev와 장치 이름을 차례로 사용하십시오. 예를 들어 eth0을 쿼리하려면 다음을 입력합니다.
ip addr show dev eth0
인터페이스에 IP 주소를 할당
인터페이스에 IP 주소를 할당하려면 다음 구문을 사용하십시오.
ip addr add ADDRESS dev IFNAME
여기서 IFNAME은 인터페이스 이름이고 ADDRESS는 인터페이스에 할당할 IP 주소입니다.
디바이스 eth0에 넷마스크 24가 있는 주소 192.168.121.45를 추가하려면 다음을 입력합니다.
sudo ip address add 192.168.121.45/24 dev eth0
성공하면 명령에 아무런 출력도 표시되지 않습니다. 인터페이스가 없으면 장치 "eth0"을 찾을 수 없습니다.
동일한 인터페이스에 여러 IP 주소를 할당
IP를 사용하여 동일한 인터페이스에 여러 주소를 할당할 수 있습니다. 예를 들어 다음과 같습니다.
IP에 IP-4 addr show deveth0 또는 ip-4 유형이 할당되었는지 확인하려면 show deveth0:
sudo ip address add 192.168.121.241/24 dev eth0
sudo ip address add 192.168.121.45/24 dev eth0
ip -4 addr show dev eth0
# or
ip -4 a show dev eth0
# 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
# inet 192.168.121.241/24 brd 192.168.121.255 scope global dynamic eth0
# valid_lft 3515sec preferred_lft 3515sec
# inet 192.168.121.45/24 scope global secondary eth0
# valid_lft forever preferred_lft forever
인터페이스에서 IP 주소를 제거/삭제
인터페이스에서 IP 주소를 제거하는 구문은 다음과 같습니다.
ip addr dev ADDRESS dev IFNAME
IFNAME은 인터페이스 이름이며, ADDRESS는 인터페이스에서 제거할 IP 주소입니다.
디바이스 eth0에서 주소 192.168.121.45/24를 제거하려면 다음을 입력합니다.
sudo ip address del 192.168.121.45/24 dev eth0
네트워크 인터페이스를 표시하고 수정
네트워크 인터페이스의 상태를 관리하고 보려면 링크 개체를 사용하십시오.
링크 개체 작업 시 가장 많이 사용되는 명령은 표시, 설정, 추가 및 델입니다.
모든 네트워크 인터페이스 목록을 표시하려면 다음 명령을 입력합니다.
ip link show
# 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
# link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
# 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
# link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff
IP 주소 표시와 달리 IP 링크 표시는 장치와 연결된 IP 주소에 대한 정보를 인쇄하지 않습니다.
특정 네트워크 인터페이스에 대한 정보를 가져오려면 ip 링크 show dev와 장치 이름을 차례로 사용하십시오. 예를 들어 eth0을 쿼리하려면 다음을 입력합니다.
ip link show dev eth0
# 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
# link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff
인터페이스의 상태를 위/아래로 변경
인터페이스를 위 또는 아래로 가져오려면 ip 링크 세트 dev와 디바이스 이름 및 원하는 상태를 사용합니다.
ip link set dev {DEVICE} {up|down}
예를 들어 eth0 인터페이스를 온라인 상태로 전환하려면 다음을 입력합니다.
ip link set eth0 up
오프라인일 경우 가져옵니다.
ip link set eth0 down
라우팅 테이블을 표시하고 변경
커널 라우팅 테이블을 할당, 제거 및 표시하려면 경로 개체를 사용합니다. 경로 객체를 사용할 때 가장 많이 사용되는 명령은 list, add 및 del입니다.
라우팅 테이블을 표시
커널 경로 항목의 목록을 가져오려면 다음 명령 중 하나를 사용합니다.
ip route
ip route list
ip route list SELECTOR
SELECTOR 없이 사용할 경우 명령은 커널의 모든 경로 항목을 나열합니다.
ip route list
# default via 192.168.121.1 dev eth0 proto dhcp src 192.168.121.241 metric 100
# 192.168.121.0/24 dev eth0 proto kernel scope link src 192.168.121.241
# 192.168.121.1 dev eth0 proto dhcp scope link src 192.168.121.241 metric 100
172.17.0.0/16과 같이 특정 네트워크에 대한 라우팅만 표시하려면 다음을 입력합니다.
ip r list 172.17.0.0/16
# 172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown
새 경로를 추가
라우팅 테이블에 새 항목을 추가하려면 route add 명령 뒤에 네트워크 또는 장치 이름을 사용하십시오.
192.168.121에서 게이트웨이를 통해 192.168.121.0/24에 경로를 추가합니다.
ip route 192.168.121을 통해 192.168.121.0/24를 추가합니다.1
ip route add 192.168.121.0/24 via 192.168.121.1
디바이스 eth0에서 연결할 수 있는 경로를 192.168.121.0/24에 추가합니다.
ip route add 192.168.121.0/24 dev eth0
기본 경로를 추가하려면 기본값 키워드를 사용하십시오. 다음 명령은 디바이스 eth0에서 도달할 수 있는 로컬 게이트웨이 192.168.121.1을 통한 기본 경로를 추가합니다.
ip route add default via 192.168.121.1 dev eth0
경로 삭제
라우팅 테이블에서 항목을 삭제하려면 route add 명령을 사용합니다. 경로를 삭제하는 구문은 추가할 때와 동일합니다.
다음 명령은 기본 경로를 삭제합니다.
ip route del default
192.168.121에서 게이트웨이를 통해 192.168.121.0/24에 대한 경로를 삭제합니다.1
ip route add 192.168.121.0/24 via 192.168.121.1
'SW > 리눅스' 카테고리의 다른 글
Linux : Echo 명령어, 예제, 사용 방법 (0) | 2021.08.05 |
---|---|
Linux : Pwd (Current Working Directory) 명령어 사용 방법, 예제 (0) | 2021.08.04 |
Ubuntu 18.04 : Opera Web Browser 설치 방법, 예제, 명령어 (0) | 2021.08.02 |
CentOS : RPM Packages 설치 방법, 예제, 명령어 (0) | 2021.08.01 |
Ubuntu 18.04 : VLC Media Player 설치 방법, 예제, 명령어 (0) | 2021.07.31 |