리눅스마스터1급 : 네트워크 명령어 ifconfig
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 2,973 조회
- 0 추천
- 목록
본문
리눅스마스터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에 설정된 다음과 같은 내용을 확인할 수 있다.
∙eth0의 MAC 주소는 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 임을알 수 있다.
∙eth0의 MTU(Maximum Transfer Unit, 최대 전송 단위)는 1500임을 알 수 있다.
∙eth0의 RX packets(부팅 후 현재까지 받은 패킷수)는 22256660748 임을 알 수 있다.
∙eth0의 TX packets(부팅 후 현재까지 보내진 패킷수)는 371976614 임을 알 수 있다.
∙eth0의 Collisions(충돌)은 0으로 충돌된 데이터값은 없다는 것을 알 수 있다.
∙eth0의 Interrupt 주소는 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 |
|
|
|
|
그러나 명령어로 바로 네트워크를 설정하여 사용하는 것은 일회성이기 때문에 관리자 부재 시에 시스템이 재부팅된 경우에는 문제가 발생한다.
따라서 시스템이 시작할 때 네트워크를 활성화할 수 있도록 관련 설정 파일을 설정할 필요가 있다.
관련자료
-
이전
-
다음