본문으로 바로가기

[CentOS] 네트워크 설정

category 리눅스/CentOS 2013. 5. 28. 21:04

CentOS 를 NetInstall 의 방법으로 설치했다면 DHCP(자동-default값 혹은 Manual(수동) 중에 하나를 선택하여 설치가 진행되었을 것입니다. 수동으로 고정(static)아이피를 부여했다면 따로 설정할 일은 없겠지만 기본값으로 제공하는 DHCP 를 이용했다면 서버의 IP를 고정하기 위해 간단한 설정을 곁들여야 합니다.

/etc/sysconfig/network

시스템 전체에 대한 Global한 기본 게이트웨이 주소를 설정과 호스트네임, 네트워킹 연결 허용 여부를 설정한다. 호스트네임은 설치중에 입력한 내용이 반영된다.

vi /etc/sysconfig/network

  NETWORKING=yes
  HOSTNAME=uzuro.com   
  GATEWAY=192.168.0.1

설정을 변경 후에는 /etc/rc.d/init.d/network restart 로 네트워크를 재시작한다.

/etc/resolv.conf

네임서버 설정과 기본적으로 사용할 도메인명을 설정한다. 즉 호스트명만을 지정하였을 경우에 호스트명 뒤에 붙게되는 도메인명을 search 행에서 지정한 도메인명으로 사용한다. (ex. ftp -> ftp.uzuro.com 로 자동으로 도메인명이 붙는다). 또한 search 지시자는 여러개의 도메인을 지정할 수도 있는데 최소 1개에서 최대 6개까지 설정 할 수 있으며 첫번째 도메인이 기본도메인이 된다. (ex. search www.uzuro.com uzuro.com)

리졸버는 달러기호($) 나 세미콜론(;) 으로 시작되는 라인을 주석으로 인식한다.

vi /etc/resolv.conf

  ; generated by /sbin/dhclient-script
  search uzuro.com
  nameserver 168.126.63.1
  nameserver 168.126.63.2     

설정을 변경 후에는 /etc/rc.d/init.d/network restart 로 네트워크를 재시작한다.

네임서버는 여러개 지정할 수 있고 첫번째 네임서버가 작동하지 않을 경우 다음 네임서버가 작동한다. 

인터넷 서비스 업체 SK 브로드밴드 올레 KT LG 유플러스
기본 DNS 서버 219.250.36.130 168.126.63.1 164.124.107.9
보조 DNS 서버 210.220.163.82 168.126.63.2 203.248.242.2

이 외에도 추가 가능한 지시자들

domain uzuro.com

domain 지시자를 이용하여 도메인을 설정하였다면 호스트네임을 보고 기본 도메인을 설정하는 것이 아니라 domain 지시자에 의한 값을 우선한다. 만약 resolv.conf 파일에 domain, search 지시자가 둘다 적용되어 있다면 나중에 있는 지시자가 적용된다.

sortlist 210.233.12.150/255.255.255.0

이 지시자는 질의에대한 응답으로 하나이상의 IP 정보를 리턴할때 선호하는 네트워크와 서브넷을 지정하여 리졸버가 여러개의 주소중 원하는 네트워크 IP 주소를 우선적으로 가지도록 설정한다.

option -debug

만약 리졸버를 컴파일할때 DEBUG 를 정의하고 했을경우 이 지시자로인해 많은 디버깅정보를 볼 수 있다.

option -ndots

search 리스트의 도메인들을 뒤에 덧붙이기 전에 리졸버가 입력받은 이름을 그대로 탐색할 수 있도록 입력받은 도메인 네임이 반드시 가져야하는 . 의 최소갯수이다.

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

eth0은 시스템에 설치되어 잇는 이더넷카드(LanCard)의 명칭으로 첫번째 이더넷카드를 뜻한다. 이 설정파일에서 게이트웨이 및 다른 설정사항들이 다른 설정파일과 중복될 수도 있는데 이 경우 이곳의 설정파일이 우선시되어 적용된다.

아래는 DHCP 모드로 설치했을 경우 설정되어 잇는 내용이다.

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

  DEVICE=eth0
  BOOTPROTO=dhcp
  HWADDR=XX:XX:XX:XX:XX:XX
  NM_CONTROLLED=yes
  ONBOOT=yes
  TYPE=Ethernet
  UUID=XXXXXXX-XXX-XXX-XXX-XXXXXXX

위와 같은 내용을 고정IP 부여를 위해 수정한다.

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

  # 장치명, 첫번째 이더넷카드 
  DEVICE=eth0 
  # IP 부여 방식 결정, static 은 고정IP
  BOOTPROTO=static 
  # 이더넷카드의 MAC 주소
  HWADDR=XX:XX:XX:XX:XX:XX    
  # GUI 모드에서의 편리한 네트워크설정 허용, TUI에선 필요없음 
  NM_CONTROLLED=no
  # 시스템 시작시 자동으로 활성화     
  ONBOOT=yes   
  # Ethernet 에 대한 설정
  TYPE=Ethernet  
  # 고유ID를 부여하는 것으로 자동으로 부여됨
  UUID=XXXXXXX-XXX-XXX-XXX-XXXXXXX    
  # 브로드캐스트 지정
  BROADCAST=192.168.0.255    
  # IP 주소 지정
  IPADDR=192.168.0.5
  # 서브넷마스크 지정     
  NETMASK=255.255.255.0  
  # 네트워크  지정 
  NETWORK=192.168.0.0    
  # Wake On Lan 기능 활성화, Ethtool 이 필요한데 CentOS 기본 설치되어 있음
  ETHTOOL_OPTS=wol g    
  # 일반사용자의 eth0 제어 가능여부
  USERCTL=no    
  # IPV6 사용여부
  IPV6INIT=no   

설정을 변경 후에는 /etc/rc.d/init.d/network restart로 네트워크를 재시작한다.

/etc/sysconfig/network-scripts/ifcfg-lo

이 파일의 설정내용은 거의 고정되어 있고 별도로 설정할 것이 없다. 다만 만약 lo 라는 루프백 이더넷이 사라졌거나 정상적인 작동이 되지 않는다면 파일의 내용을 확인한다.

vi /etc/sysconfig/network-scripts/ifcfg-lo

  DEVICE=lo
  IPADDR=127.0.0.1
  NETMASK=255.0.0.0
  NETWORK=127.0.0.0

  # If you're having problems with gated making 127.0.0.0/8 a martian,
  # you can change this to something else (255.255.255.255, for example)
  BROADCAST=127.255.255.255
  ONBOOT=yes
  NAME=loopback

IPv6 중단

어떠한 이유로 IPv6를 중단할려면 아래와 같이 하면된다. 그러나 CentOS 6 FAQ에 의하면 SELinux등과의 호환성 문제로 권장하지 않는다고 한다.

ifconfig

  eth0    Link encap:Ethernet  HWaddr 00:0C:29:0E:82:2F
          inet addr:192.168.0.5  Bcast:192.168.0.255  Mask:255.255.255.0
          # 아래가 IPv6 설정상태
          inet6 addr: fe80::20c:29ff:fe0e:822f/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:8807 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8376 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:861904 (841.7 KiB)  TX bytes:908676 (887.3 KiB)

기본적으로 ipv6 이 활성화 상태다. 이를 비활성화 한다.

echo "net.ipv6.conf.all.disable_ipv6 = 1" >> /etc/sysctl.conf

비활성화 되었는지 다시 확인해 보자

ifconfig

  eth0    Link encap:Ethernet  HWaddr 00:0C:29:0E:82:2F
          inet addr:192.168.0.5  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:8807 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8376 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:861904 (841.7 KiB)  TX bytes:908676 (887.3 KiB)