강좌
클라우드/리눅스에 관한 강좌입니다.
네트워크 분류

리눅스마스터1급 : 네트워크 명령어 ifconfig

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

리눅스마스터1: 네트워크 명령어 ifconfig



 

ifconfig는 현재 시스템에 장착되어 있는 네트워크 인터페이스를 설정하거나 확인하는 명령어이다.

 

 

 

서버가 통신을 하기 위해서는 네트워크 인터페이스(NIC, 흔히 랜카드)가 있어야 하는데, 이러한 네트워크 인터페이스의 네트워크 정보를 설정, 변경 및 확인하는 명령어가 ifconfig이다.

 

 

 

 

 

ifconfig로 확인 가능한 네트워크 인터페이스의 내용은 다음과 같다.

 

 

 

 

 

MAC 주소

eth0에 할당된 IP 주소

브로드케스트(BroadCast)

서브넷마스크(Subnet Mask)

MTU(Maximum Transfer Unit)

RX packets(부팅 후 현재까지 받은 패킷수)

TX packets(부팅 후 현재까지 보내진 패킷수)

Collisions

Interrupt 주소

현재 UP(사용가능) 되어 있는지 여부

 

[사용형식]

 

 

 

 

ifconfig [네트워크 인터페이스]

ifconfig 네트워크 인터페이스 [aftype] 옵션 | 어드레스 ...

 

 

 

 

 

 

1) 서버에 설치된 모든 네트워크 인터페이스의 네트워크 설정 확인

 

간단하게 ifconfig 라고만 명령을 내리면 현재 서버에 인식되어 있는 모든 네트워크 인터페이스의 설정 내용이 다음과 같이 출력된다.

 

 

 

 

 

 

 

 

 

# ifconfig

eth0 Link encap:Ethernet HWaddr 1C:C1:DE:E6:88:08

inet addr:220.73.135.170 Bcast:220.73.136.255 Mask:255.255.255.128

inet6 addr: fe80::1ec1:deff:fee6:8808/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:550684642 errors:0 dropped:0 overruns:0 frame:0

TX packets:766098359 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:2225660748 (2.0 GiB) TX bytes:371976614 (354.7 MiB)

Interrupt:138 Memory:f8000000-f8012100

 

lo Link encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

inet6 addr: ::1/128 Scope:Host

UP LOOPBACK RUNNING MTU:16436 Metric:1

RX packets:6829234 errors:0 dropped:0 overruns:0 frame:0

TX packets:6829234 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:514219937 (490.3 MiB) TX bytes:514219937 (490.3 MiB)

 

 

 

 

 

위의 결과를 보면 현재 이 서버에는 eth0이라는 인터페이스와 lo라는 인터페이스가 있다는 것을 알 수 있다.

 

 

 

여기서 lo라는 인터페이스는 loop back를 의미하는 것으로 자기 자신에게 보내는 데이터를 처리하기 위한 가상 인터페이스이다.

 

 

 

따라서 현재 이 서버에서 사용 가능한 물리적인 인터페이스는 eth0 뿐이라는 것을 알 수 있다.

 

 

 

그리고 위 결과에서 eth0에 설정된 다음과 같은 내용을 확인할 수 있다.

 

 

 

 

 

eth0MAC 주소는 HWaddr 값인 1C:C1:DE:E6:88:08 임을 알 수 있다.

 

 

 

 

eth0에 할당된 IP 주소는 inet addr 값인 220.73.135.170 임을 알 수 있다.

 

 

 

 

eth0의 브로드케스트 주소는 Bcast 값인 220.73.136.255 임을 알 수 있다.

 

 

 

 

eth0의 서브넷마스크 주소는 Mask 값인 255.255.255.128 임을알 수 있다.

 

 

 

 

eth0MTU(Maximum Transfer Unit, 최대 전송 단위)1500임을 알 수 있다.

 

 

 

 

eth0RX packets(부팅 후 현재까지 받은 패킷수)22256660748 임을 알 수 있다.

 

 

 

 

eth0TX packets(부팅 후 현재까지 보내진 패킷수)371976614 임을 알 수 있다.

 

 

 

 

eth0Collisions(충돌)0으로 충돌된 데이터값은 없다는 것을 알 수 있다.

 

 

 

 

eth0Interrupt 주소는 138번을 사용하고 있음을 알 수 있다.

 

 

 

 

eth0의 현재 UP(사용가능)되어 있는 상태라는 것을 알 수 있다.

 

 

 

 

 

ifconfig를 이용하면 위와 같은 사항들을 확인할 수 있으므로 원하는 네트워크 인터페이스의 정확한 설정 상황과 사용 현황을 확인할 수 있다.

 

 

 

2) 특정 네트워크 인터페이스 설정 내용 확인

 

 

ifconfig 명령어 뒤에 네트워크 인터페이스 이름을 적어 주면 해당 네트워크 인터페이스에 대한 네트워크 설정 내용을 확인할 수 있다.

 

 

 

 

 

 

 

# ifconfig eth0

eth0 Link encap:Ethernet HWaddr 1C:C1:DE:E6:88:08

inet addr:220.73.135.170 Bcast:220.73.136.255 Mask:255.255.255.128

inet6 addr: fe80::1ec1:deff:fee6:8808/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:550684642 errors:0 dropped:0 overruns:0 frame:0

TX packets:766098359 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:2225660748 (2.0 GiB) TX bytes:371976614 (354.7 MiB)

Interrupt:138 Memory:f8000000-f8012100

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3) 특정 네트워크 인터페이스의 사용해제와 활성화

 

 

설치되어 있는 네트워크 인터페이스들 가운데에서 불필요하거나 사용하지 않을 것을 사용해제하는 방법은 ifconfig 명령어 뒤에 네트워크 인터페이스명과 down을 차례로 기입하여 명령을 내리는 것이다.

 

 

 

 

 

 

 

 

# ifconfig eth0 down

 

 

 

 

 

다음으로 특정 네트워크 인터페이스를 사용가능한 상태로 설정하는 것은 ifconfig 명령어 뒤에 네트워크 인터페이스명과 up을 차례로 기입하여 명령을 내리는 것이다.

 

 

 

 

 

 

 

 

# ifconfig eth0 up

 

 

 

 

 

 

 

 

 

4) 네트워크 환경 설정

 

 

ifconfig 명령으로 다음과 같이 특정 네트워크 인터페이스를 사용을 위해 네트워크 정보를 설정할 수 있다.

 

 

 

설정할 사항은 다음과 같다.

 

 

 

 

 

설정 대상 네트워크 인터페이스 장치명 : eth1

eth1에 할당할 IP 주소 : 192.168.0.150

eth1에 할당할 Netmask 주소 : 255.255.255.0

eth1에 할당할 Broadcast 주소 : 192.168.0.255

eth1에 할당할 Network : 192.168.0.0

 

 

 

 

 

# ifconfig eth1 192.168.0.150 netmask 255.255.255.0 broadcast 192.168.0.255 up

 

 

 

 

 

 










 

일단 네트워크 카드를 커널에 인식시켰으면 바로 다음과 같은 명령어로 네트워크 카드를 활성화할 수도 있다.

 

 

 

 

 

 

 

 

 

# ifconfig eth0 192.168.1.2 netmask 255.255.255.0 broadcast 192.168.1.255 up

 

 

 

 

 

이렇게 설정한 후에 설정 내용을 확인하기 위해서는 ifconfig만 기재하여 명령을 내리면 된다.

 

 

 

 

 

 

 

 

 

# ifconfig

 

 

 

 

 

위 명령에 의해 출력되는 정보를 통해 확인할 수 있는 것은 다음과 같다.

 

 

 

 

 

MAC 주소

eth0에 할당된 IP 주소

브로드캐스트(BroadCast) 주소

서브넷마스크(Subnet Mask) 주소

MTU(Maximum Transfer Unit) : 최대 전송 단위

RX packets : 부팅 후 현재까지 받은 패킷수

TC packets : 부팅 후 현재까지 보내어진 패킷수

Collisions : 충돌된 데이터값

Interrupt 주소

현재 UP(사용가능) 되어 있는지 여부

 

이에 대해 기존의 설정 내용을 해제하고 싶다면 다음과 같이 한다.

 

 

 

 

 

 

 

 

 

# ifconfig eth0 down

 

 

 

 

 

위와 같이 네트워크 카드를 활성화한 이후에도 리눅스 시스템의 네트워크 설정을 완전하게 하려면 route, 게이트웨이 및 DNS 서버 설정이 필요하다.

 

 

 

 

먼저, 192.168.1.* 에 해당되는 모든 데이터그램이 이 네트워크 카드로 보내질 수 있게 라우팅 테이블(Routing Table)에 엔트리(entry)를 추가해야 된다.

 

 

 

다음은 eth0 장치에 대해 192.168.1.x로의 route를 활성화한 것이다.

 

 

 

넷마스크(Netmask)255.255.255.0로 설정했지만, 이 주소대는 C 클래스이므로 실제로는 넷마스크를 지정할 필요가 없다.

 

 

 

 

 

 

 

 

# route add net 192.168.1.0 netmask 255.255.255.0 dev eth0

 

 

 

 

 

그리고 나서 다른 네트워크와 통신하기 위해서 디폴트 게이트웨이(Default Gateway)를 설정한다.

 

 

 

 

 

 

 

 

 

# route add default gw 192.168.1.1 dev eth0

 

 

 

 

 

이에 더해 /etc/resolv.conf에 다음과 같이 DNS 서버 설정을 한다.

 

 

 

 

 

 

 

 

 

nameserver 168.126.63.1

nameserver 168.126.63.2

search cblaw.net

 

 

 

 

 

그러나 명령어로 바로 네트워크를 설정하여 사용하는 것은 일회성이기 때문에 관리자 부재 시에 시스템이 재부팅된 경우에는 문제가 발생한다.

 

 

 

따라서 시스템이 시작할 때 네트워크를 활성화할 수 있도록 관련 설정 파일을 설정할 필요가 있다.

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,037 명
  • 현재 강좌수 :  35,810 개
  • 현재 접속자 :  98 명