Linux에서 ip 명령을 사용하는 방법

0
650
터미널 창에있는 Ubuntu 스타일 Linux 랩톱의 Bash 프롬프트
Fatmawati Achmad Zaenuri / 셔터 스톡

Linux를 사용하여 IP 주소, 네트워크 인터페이스 및 라우팅 규칙을 즉석에서 구성 할 수 있습니다 ip 명령. 이 현대적인 대체품을 사용하는 방법을 보여 드리겠습니다 (이제 더 이상 사용되지 않음). ifconfig.

ip 명령의 작동 방식

와 더불어 ip 명령을 사용하면 Linux 컴퓨터의 IP 주소, NIC (Network Interface Controller) 및 라우팅 규칙을 처리하는 방식을 조정할 수 있습니다. 변경 사항도 즉시 적용되므로 재부팅 할 필요가 없습니다. 그만큼 ip 명령은 이보다 더 많은 것을 할 수 있지만이 기사에서 가장 일반적인 용도에 중점을 둘 것입니다.

그만큼 ip command에는 많은 하위 명령이 있으며 각 하위 명령은 IP 주소 및 경로와 같은 객체 유형에서 작동합니다. 차례로 이러한 각 개체에 대한 많은 옵션이 있습니다. 이 풍부한 기능은 ip 섬세한 작업이 될 수있는 작업을 수행하는 데 필요한 세분성을 명령하십시오. 이것은 도끼 작업이 아니며 메스 세트를 요구합니다.

다음과 같은 객체를 살펴 보겠습니다.

  • 주소: IP 주소 및 범위.
  • 링크: 유선 연결 및 Wi-Fi 어댑터와 같은 네트워크 인터페이스.
  • 노선: 전송 된 트래픽의 라우팅을 관리하는 규칙 addresses 인터페이스를 통해 (links).

주소와 함께 ip 사용

분명히, 당신은 먼저 다루고있는 설정을 알아야합니다. 컴퓨터의 IP 주소를 확인하려면 ip 객체와 명령 address. 기본 동작은 showIP 주소가 표시됩니다. 생략 할 수도 있습니다 show 그리고 약어 address “주소”또는 “a”로

다음 명령은 모두 동일합니다.

ip address show
ip addr show
ip addr
ip a

터미널 창에서 "ip addr"명령

우리는 많은 다른 정보와 함께 두 개의 IP 주소를 봅니다. IP 주소는 네트워크 인터페이스 컨트롤러 (NIC)와 연결됩니다. 그만큼 ip 명령은 도움이 되려고 노력하고 인터페이스에 대한 많은 정보를 제공합니다.

첫 번째 IP 주소는 컴퓨터 내에서 통신하는 데 사용되는 (내부) 루프백 주소입니다. 두 번째는 컴퓨터가 근거리 통신망 (LAN)에있는 실제 (외부) IP 주소입니다.

우리가받은 모든 정보를 분석해 봅시다 :

  • 봐라: 네트워크 인터페이스 이름 (문자열)입니다.
  • : 이것은 루프백 인터페이스입니다. 이것의 UP작동한다는 의미입니다. 물리적 네트워킹 계층 (계층 1)도 있습니다.
  • mtu 65536 : 최대 전송 단위입니다. 이 인터페이스가 전송할 수있는 가장 큰 데이터 청크의 크기입니다.
  • qdisc noqueue :qdisc 큐 메커니즘입니다. 패킷 전송을 예약합니다. 학문이라고하는 다른 큐잉 기술이 있습니다. 그만큼 noqueue 훈련은 “즉시 보내기, 대기하지 마십시오”를 의미합니다. 이것이 기본값입니다 qdisc 루프백 주소와 같은 가상 장치에 대한 규율.
  • 미확인 상태 : 이것은 될 수있다 DOWN (네트워크 인터페이스가 작동하지 않습니다), UNKNOWN (네트워크 인터페이스는 작동하지만 아무 것도 연결되어 있지 않습니다) 또는 UP (네트워크가 작동하고 연결되어 있습니다).
  • 그룹 기본값 : 인터페이스는 논리적으로 그룹화 할 수 있습니다. 기본값은 “default”라는 그룹에 모두 배치하는 것입니다.
  • qlen 1000 : 전송 큐의 최대 길이
  • 링크 / 루프백 : 인터페이스의 MAC (Media Access Control) 주소입니다.
  • inet 127.0.0.1/8 : IP 버전 4 주소 슬래시 뒤의 주소 부분 (/)는 서브넷 마스크를 나타내는 CIDR (Classless Inter-Domain Routing notation)입니다. 서브넷 마스크에서 몇 개의 선행 연속 비트가 1로 설정되는지 나타냅니다. 8의 값은 8 비트를 의미합니다. 1로 설정된 8 비트는 이진수로 255를 나타내므로 서브넷 마스크는 255.0.0.0입니다.
  • 범위 호스트 : IP 주소 범위 이 IP 주소는 컴퓨터 내에서만 유효합니다 (“호스트”).
  • 봐라: 이 IP 주소와 관련된 인터페이스입니다.
  • valid_lft : 유효 수명. DHCP (Dynamic Host Configuration Protocol) (DHCP)에 의해 할당 된 IP 버전 4 IP 주소의 경우, 이는 IP 주소가 유효한 것으로 간주되어 연결 요청을하고 수락 할 수있는 시간입니다.
  • preferred_lft : 바람직한 수명. DHCP에서 할당 한 IP 버전 4 IP 주소의 경우 제한없이 IP 주소를 사용할 수있는 시간입니다. 이보다 더 커서는 안됩니다 valid_lft 값.
  • inet6: IP 버전 6 주소, scope , valid_lft, preferred_lft.

아래에서 볼 수 있듯이 물리적 인터페이스가 더 흥미 롭습니다.

  • enp0s3 : 문자열로서의 네트워크 인터페이스 이름입니다. “en”은 이더넷을 나타내고 “p0″은 이더넷 카드의 버스 번호이며 “s3″은 슬롯 번호입니다.
  • : 이 인터페이스는 브로드 캐스트 및 멀티 캐스팅을 지원하며 인터페이스는 UP (작동 및 연결됨). 네트워크의 하드웨어 계층 (계층 1)도 UP.
  • mtu 1500 : 이 인터페이스가 지원하는 최대 전송 단위입니다.
  • qdisc fq_codel : 스케줄러는 “공정한 큐잉, 제어 지연”이라는 규칙을 사용하고 있습니다. 대기열을 사용하는 모든 트래픽 흐름에 대해 대역폭의 공평한 분배를 제공하도록 설계되었습니다.
  • 상태 : 인터페이스가 작동하고 연결되어 있습니다.
  • 그룹 기본값 : 이 인터페이스는 “기본”인터페이스 그룹에 있습니다.
  • qlen 1000 : 전송 큐의 최대 길이
  • 링크 / 에테르 : 인터페이스의 MAC 주소입니다.
  • inet 192.168.4.26/24 : IP 버전 4 주소 “/ 24″는 서브넷 마스크에서 24 개의 연속 된 선행 비트가 1로 설정되었음을 나타냅니다. 8 비트로 구성된 세 그룹입니다. 8 비트 이진수는 255와 같습니다. 따라서 서브넷 마스크는 255.255.255.0입니다.
  • brd 192.168.4.255 : 이 서브넷의 브로드 캐스트 주소입니다.
  • 글로벌 범위 : IP 주소는이 네트워크의 모든 곳에서 유효합니다.
  • 동적: 인터페이스가 다운되면 IP 주소가 유실됩니다.
  • 접두사 경로 : 이 IP 주소가 추가 될 때 경로 테이블에 경로를 작성하지 마십시오. 이 IP 주소를 사용하려면 경로를 수동으로 추가해야합니다. 마찬가지로이 IP 주소가 삭제 된 경우 삭제할 경로를 찾지 마십시오.
  • enp0s3 : 이 IP 주소와 관련된 인터페이스입니다.
  • valid_lft : 유효 수명. IP 주소가 유효한 것으로 간주되는 시간. 86,240 초는 23 시간 57 분입니다.
  • preferred_lft : 바람직한 수명. IP 주소가 제한없이 작동하는 시간입니다.
  • inet6 : IP 버전 6 주소 scope, valid_lft, preferred_lft.

IPv4 또는 IPv6 주소 만 표시

출력을 IP 버전 4 주소로 제한하려면 -4 옵션은 다음과 같습니다.

ip -4 addr

터미널 창에서 "ip -4 addr"명령

출력을 IP 버전 6 주소로 제한하려면 -6 옵션은 다음과 같습니다.

ip -6 addr

터미널 창에서 "ip -6 addr"명령

단일 인터페이스에 대한 정보 표시

단일 인터페이스에 대한 IP 주소 정보를 보려면 showdev 옵션과 인터페이스 이름을 아래와 같이 지정하십시오.

ip addr show dev lo
ip addr show dev enp0s3

터미널 창에서 "ip addr show dev lo"및 "ip addr show dev enp0s3"명령

당신은 또한 사용할 수 있습니다 -4 또는 -6 원하는 결과 만 볼 수 있도록 출력을 세분화합니다.

인터페이스의 주소와 관련된 IP 버전 4 정보를 보려면 enp0s3다음 명령을 입력하십시오.

ip -4 addr show dev enp0s3

터미널 창에서 "ip-4 addr show dev enp0s3"명령

IP 주소 추가

당신은 사용할 수 있습니다 adddev 인터페이스에 IP 주소를 추가하는 옵션. 당신은 단지 ip 추가 할 IP 주소와 추가 할 인터페이스를 지정하십시오.

IP 주소 192.168.4.44를 enp0s3 상호 작용. 또한 서브넷 마스크에 CIDR 표기법을 제공해야합니다.

우리는 다음을 입력합니다 :

sudo ip addr add 192.168.4.44/24 dev enp0s3

터미널 창에서 "sudo ip addr add 192.168.4.44/24 dev enp0s3"명령

이 인터페이스에서 IP 버전 4 IP 주소를 다시 살펴 보려면 다음을 입력하십시오.

ip -4 addr show dev enp0s3

터미널 창에서 "ip-4 addr show dev enp0s3"명령

이 네트워크 인터페이스에 새로운 IP 주소가 있습니다. 다른 컴퓨터로 뛰어 들어 다음 명령을 사용하여 ping 새로운 IP 주소 :

ping 192.168.4.44

터미널 창에서 "ping 192.168.4.44"명령

IP 주소가 응답하고 핑에 승인을 다시 보냅니다. 우리의 새로운 IP 주소는 하나의 간단한 후에 시작되고 실행됩니다 ip 명령.

IP 주소 삭제

IP 주소를 삭제하려면 명령을 바꾸는 것을 제외하고 명령을 추가하는 명령과 거의 동일합니다. adddel, 아래 그림과 같이:

sudo ip addr del 192.168.4.44/24 dev enp0s3

터미널 창에서 "sudo ip addr del 192.168.4.44/24 dev enp0s3"명령

다음을 입력하여 확인하면 새 IP 주소가 삭제 된 것을 볼 수 있습니다.

ip -4 addr show dev enp0s3

터미널 창에서 "ip-4 addr show dev enp0s3"명령

네트워크 인터페이스와 함께 IP 사용

당신은 link 네트워크 인터페이스를 검사하고 사용할 개체입니다. 컴퓨터에 설치된 인터페이스를 보려면 다음 명령을 입력하십시오.

ip link show

터미널 창에서 "ip link show"명령

단일 네트워크 인터페이스를 보려면 아래와 같이 이름을 명령에 추가하십시오.

ip link show enp0s3

터미널 창에서 "ip link show enp0s3"명령

링크 시작 및 중지

당신은 사용할 수 있습니다 set 옵션 중 하나 up 또는 down 네트워크 인터페이스 옵션을 중지하거나 시작합니다. 당신은 또한 사용해야합니다 sudo, 아래 그림과 같이:

sudo ip link set enp0s3 down

터미널 창에서 "sudo ip link set enp0s3 down"명령

네트워크 인터페이스를 보려면 다음을 입력하십시오.

ip link show enp0s3

터미널 창에서 "ip link show enp0s3"명령

네트워크 인터페이스의 상태는 DOWN. 우리는 사용할 수 있습니다 up 아래 그림과 같이 네트워크 인터페이스를 다시 시작하는 옵션 :

sudo ip link set enp0s3 up

터미널 창에서 "sudo ip link set enp0s3 up"명령

네트워크 인터페이스 상태에 대한 또 다른 빠른 검사를 수행하려면 다음을 입력하십시오.

ip link show enp0s3

터미널 창에서 "ip link show enp0s3"명령

네트워크 인터페이스가 다시 시작되었으며 상태는 다음과 같이 표시됩니다. UP.

경로와 함께 IP 사용

와 더불어 route 객체를 사용하면 경로를 검사하고 조작 할 수 있습니다. 경로는 다른 IP 주소로의 네트워크 트래픽이 전달되는 위치와 네트워크 인터페이스를 통해 정의됩니다.

대상 컴퓨터 나 장치가 보내는 컴퓨터와 네트워크를 공유하는 경우 보내는 컴퓨터는 패킷을 직접 전달할 수 있습니다.

그러나 대상 장치가 직접 연결되어 있지 않으면 보내는 컴퓨터가 패킷을 기본 라우터로 전달합니다. 그런 다음 라우터는 패킷을 보낼 위치를 결정합니다.

컴퓨터에 정의 된 경로를 보려면 다음 명령을 입력하십시오.

ip route

터미널 창에서 "ip route"명령

접수 된 정보를 살펴 보겠습니다.

  • 기본: 기본 규칙. 이 경로는 전송 된 규칙과 다른 규칙이없는 경우에 사용됩니다.
  • 192.168.4.1을 통해 : 192.168.4.1에서 장치를 통해 패킷을 라우팅합니다. 이 네트워크에서 기본 라우터의 IP 주소입니다.
  • dev enp0s3 : 이 네트워크 인터페이스를 사용하여 패킷을 라우터로 보냅니다.
  • 프로토 dhcp : 라우팅 프로토콜 식별자 DHCP는 경로가 동적으로 결정됨을 의미합니다.
  • 메트릭 100 : 다른 경로와 비교하여 경로 선호도 표시. 메트릭이 낮은 경로는 메트릭이 높은 경로보다 우선적으로 사용됩니다. 이를 사용하여 Wi-Fi 인터페이스를 통해 유선 네트워크 인터페이스를 우선적으로 사용할 수 있습니다.

두 번째 경로는 IP 범위 169.254.0.0/16에 대한 트래픽을 관리합니다. 이것은 제로 구성 네트워크이므로 인트라넷 통신을 위해 자체 구성을 시도합니다. 그러나 직접 네트워크 외부로 패킷을 보내는 데 사용할 수는 없습니다.

제로 구성 네트워크의 기본 원리는 DHCP 및 기타 서비스가 있고 활성화되어 있지 않다는 것입니다. 네트워크의 다른 각 장치에 대한 자체 식별을 위해서는 TCP / IP 만 확인하면됩니다.

한 번 보자:

  • 169.254.0.0/16 : 이 라우팅 규칙이 적용되는 IP 주소 범위 컴퓨터가이 IP 범위에서 통신하면이 규칙이 적용됩니다.
  • dev enp0s3 : 이 경로가 관리하는 트래픽이 사용할 네트워크 인터페이스입니다.
  • 범위 링크: 범위는 link이 범위는이 컴퓨터가 직접 연결된 네트워크로 제한됩니다.
  • 미터법 1000: 통계가 높고 선호하는 경로가 아닙니다.

세 번째 경로는 192.168.4.0/24의 IP 주소 범위로 트래픽을 관리합니다. 이것은이 컴퓨터가 연결된 로컬 네트워크의 IP 주소 범위입니다. 해당 네트워크를 통한 네트워크 내에서의 통신을위한 것입니다.

그것을 분해하자 :

  • 192.168.4.1/24 : 이 라우팅 규칙이 적용되는 IP 주소 범위 컴퓨터가이 IP 범위 내에서 통신하는 경우이 규칙은 패킷 라우팅을 트리거하고 제어합니다.
  • dev enp0s3 : 이 라우트가 패킷을 보내는 인터페이스입니다.
  • 프로토 커널 : 자동 구성 중에 커널이 생성 한 경로입니다.
  • 범위 링크 : 범위는 link이 범위는이 컴퓨터가 연결된 직접 네트워크로 제한됩니다.
  • src 192.168.4.26 : 이 경로로 전송 된 패킷이 시작된 IP 주소입니다.
  • 메트릭 100 : 이 낮은 메트릭은 선호하는 경로를 나타냅니다.

단일 경로에 대한 정보 표시

특정 경로의 세부 사항에 초점을 맞추려면 list 명령에 대한 경로의 옵션 및 IP 주소 범위는 다음과 같습니다.

ip route list 192.168.4.0/24

터미널 창에서 "ip route list 192.168.4.0/24"명령

경로 추가

이 컴퓨터에 새로운 네트워크 인터페이스 카드를 추가했습니다. 다음을 입력하면 다음과 같이 표시됩니다. enp0s8:

ip link show

터미널 창에서 "ip link show"명령

이 새로운 인터페이스를 사용하기 위해 컴퓨터에 새로운 경로를 추가하겠습니다. 먼저 IP 주소를 인터페이스와 연결하려면 다음을 입력하십시오.

sudo ip addr add 192.168.121.1/24 dev enp0s8

터미널 창에서 "sudo ip addr add 192.168.121.1/24 dev enp0s8"명령

기존 IP 주소를 사용하는 기본 경로가 새 인터페이스에 추가됩니다. 우리는 delete 아래에 표시된대로 경로를 삭제하고 세부 정보를 제공하십시오.

sudo ip route delete default via 192.168.4.1 dev enp0s8

터미널 창에서 "sudo ip route delete default by 192.168.4.1 dev enp0s8"명령

우리는 이제 add 새 경로를 추가하는 옵션입니다. 새로운 인터페이스는 192.168.121.0/24 IP 주소 범위에서 네트워크 트래픽을 처리합니다. 우리는 100의 메트릭을 줄 것입니다; 이 트래픽을 처리하는 유일한 경로가되기 때문에 메트릭은 거의 학술적입니다.

우리는 다음을 입력합니다 :

sudo ip route add 192.168.121.0/24 dev enp0s8 metric 100

터미널 창에서 "sudo ip route add 192.168.121.0/24 dev enp0s8 metric 100"명령

이제 우리가 무엇을 제공하는지 보려면 다음을 입력하십시오.

ip route

터미널 창에서 "ip route"명령

우리의 새로운 길은 이제 제자리에 있습니다. 그러나 여전히 인터페이스를 가리키는 192.168.4.0/24 경로가 있습니다. enp0s8— 제거하려면 다음을 입력하십시오.

sudo ip route delete 192.168.4.0/24 dev enp0s8

터미널 창에서 "sudo ip route delete 192.168.4.0/24 dev enp0s8"명령

이제 인터페이스를 통해 IP 범위 192.168.121.0/24로 향하는 모든 트래픽을 가리키는 새로운 경로가 생겼습니다. enp0s8. 또한 새로운 인터페이스를 사용하는 유일한 경로 여야합니다.

다음을 입력하여 확인합니다.

ip route

터미널 창에서 "ip route"명령

루트가 아닌 루트

이 명령의 장점은 영구적이지 않다는 것입니다. 지우려면 시스템을 재부팅하십시오. 즉, 원하는 방식으로 작동 할 때까지 실험 할 수 있습니다. 시스템을 엉망으로 만들면 아주 좋은 일입니다. 간단한 재부팅으로 순서가 복원됩니다.

반면에 변경 사항을 영구적으로 유지하려면 더 많은 작업을 수행해야합니다. 정확히 배포 제품군에 따라 다르지만 모두 구성 파일 변경과 관련이 있습니다.

그러나 이렇게하면 영구적으로 만들기 전에 명령을 테스트 구동 할 수 있습니다.