리눅스에서 ip 명령어로 IP 설정하는 방법

RHEL/CentOS 7.0 버전이 공개되면서 net-tools가 최소 설치에 빠지게 되어 (Network Manager 사용을 권장하는 취지인 듯) 약간 혼란스런 부분이 생겼다. 기존에 잘 사용하던 ifconfig, netstat, route, arp 등의 명령어를 사용하려면 net-tools 패키지를 추가로 설치해야 한다.

사실 다른건 몰라도 netstat 명령어는 시스템 엔지니어에게 필수 아닌가? 새로운 기술이 등장하면 적응해야 하는게 엔지니어의 숙명이긴 하다만, 굳이 net-tools를 의도적으로 제외한 부분은 쉽게 납득되지 않았다.

어쨌든 ip 명령어로 IP를 설정하는 방법에 대해 알아보자. 물론 RHEL/CentOS 계열에서는 보통 아래 파일을 수정한 후 ifdown / ifup 또는 service network restart를 할 것이다.

/etc/sysconfig/network-scripts/ifcfg-eth0

하지만 긴급 상황이거나 임시로 IP를 추가할 경우도 있으므로, ip 명령어에 대해 알아두는게 좋겠다.

1. IP 추가하는 방법

아래와 같이 입력하면 된다.

ip addr add 192.168.0.101/24 dev eth0

어떤가? 매우 간단하다. /PREFIX 붙이고 device를(보통 eth0) 지정하면 끝이다. (PREFIX를 지정 안 하면 기본 /32)

ip a a 192.168.0.101/24 dev eth0

위 명령어는 첫번째 명령어와 동일한 결과를 가져다준다. ip 명령어는 대부분의 커맨드를 한 글자로만 써도 잘 동작한다. 그래서 타이핑을 줄여줘서 편하다. 다만 모르는 사람에게는 가독성이 떨어진다는 단점이 있다.

동일한 작업을 ifconfig로 해볼까? 사실 이게 더 간단하기는 하다.

ifconfig eth0 192.168.0.101/24

참고로 IP를 추가했는데도 통신이 안 되는 경우 링크가 down 상태일 수 있으니 up 시켜줘야 한다.
ip 명령어와 ifconfig 명령어 각각 아래와 같다.

ip link set eth0 up
ip l s eth0 up (위 명령어 줄임 버전)

ifconfig eth0 up

그리고 ifconfig의 경우 애초에 IP를 추가할 때 뒤에 up을 붙여주면 한방에 해결이 된다.

ifconfig eth0 192.168.0.101/24 up

2. 라우팅 추가하는 방법

첫번째 단계에서는 IP만 추가하였다. 하지만 현재 상태로는 Default Gateway가 없어서 외부 Network와 통신할 수 없다. (동일 Network내 L2 통신만 가능)

따라서 아래와 같이 Default Gateway를 지정해보자.

ip route add default via 192.168.0.1
ip route add 0.0.0.0/0 via 192.168.0.1

위 명령어는 동일하다. default로 써도 되고 0.0.0.0/0으로 표현해도 된다.
마찬가지로 줄여서 써도 무방하다.

ip r a default via 192.168.0.1
ip r a 0.0.0.0/0 via 192.168.0.1

기존에 익숙하게 사용하고 있던 route 명령어로는 아래와 같다.

route add default gw 192.168.0.1
route add -net 0.0.0.0 gw 192.168.0.1

위 명령어는 동일하다. default로 써도 되고 0.0.0.0으로 표현해도 된다.
신고
Share
  1. 처리Kim
    2014.08.05 17:31 신고

    잘보고 갑니다. (__)

  2. 손영희
    2014.08.05 18:40 신고

    안녕하세요. 블로그에 많은 도움을 받고 있는 윈도우 사용자 입니다. 본 게시물과는 연관이 없는 가상드라이버 관련 질문을 드릴려고 하는데 질문 카테고리가 없어서 여기에 올립니다.
    가상드라이버를 생성하고 운영체제를 설치한 후에 부팅을 완료하면, 윈도우 화면상에서 OS가 깔려있는 가상 드라이버가 C:\, 그리고 가상드라이버 파일이 들어있는 물리 드라이버가 d:\로 할당이 되어 있는데 저는 d:\도 가상으로 사용하고 싶습니다. 물리 드라이버를 다른 이름으로 변경할려고 하니 (e:\ 나 f:\) 이미 사용중이기 때문에 "매개 변수가 다릅니다."라는 메세지를 띄우고 변경이 불가한데, 이 물리적 드리이브 명을 변경할 방법이 없을까요? 부팅 이전에 변경을 해야 하는데 PE에서 변경을 해도 부팅을 하고 나면 다시 d:\로 짜잔~! 하고 보이니 마음이 심란합니다.
    여기 저기 찾아봐도 정보가 없어서 올려 봅니다.

    • 손영희
      2014.08.05 19:22 신고
      수정 및 삭제

      해답을 찾았습니다. 가상드라이브가 들어있는 물리 드라이브를 할당되지 않은 드리이브명으로 변경을 해야 하는데, 제가 이미 할달되어 있는 e:\로 변경을 할려고 하니 안되었습니다. 아예 멀찌감치 y:\로 변경하니 됐네요.
      물어보게 된 계기가 전 d:\에 파라미터나 로그를 저장하는 설비 프로그램을 만들고 있는데 여러가지 설비를 다루다 보니 d:\가 상당히 지저분해져서 따로 관리하고 싶었던 겁니다. 해결이 되어서 날아 갈거 같네요 ^^

  3. 원종석
    2014.08.21 19:13 신고

    장애처리시 해결 실마리를 찾다보면 최종 종착지가 되곤 하여 감사하게 여깁니다.
    항상 깔끔하게 잘 정리된글 잘 보고 갑니다.

  4. 임진원
    2014.09.02 16:21 신고

    필요한 자료이었는데.. 감사합니다.

<< Prev 1 ... 4 5 6 7 8 9 10 11 12 ... 794 Next >>