반응형

virtual box로 CentOS를 설치하고 호스트 전용 네트워크를 설정해주었는데도 yum install도 안되는 상황이 발생할 수 있다. 이는 인터페이스가 활성화가 안되어있을 가능성이 있다. 이번에는 이러한 문제를 해결할 수 있는 방법인 네트쿼크 인터페이스를 활성화하는 방법에 대하여 써보고자 한다.


네트워크 인터페이스 확인하기

$ ip addr

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:c6:c2:2f brd ff:ff:ff:ff:ff:ff
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:c6:c2:2f brd ff:ff:ff:ff:ff:ffr

lo, enp0s3, enp0s8이라는 세 가지의 인터페이스가 인식이 되어있는 것을 확인할 수 있다. 그러나 lo를 제외하고는 ip주소가 할당이 되지 않아있는 모습을 확인할 수 있다.


네트워크 인터페이스 스크립트 수정

$ cd /etc/sysconfig/network-scripts        # 네트워크 인터페이스 스크립트가 있는 디렉토리로 이동

$ ls /etc/sysconfig/network-scripts
ifcfg-enp0s3     ifdown-bnep  ifdown-ppp     ifup-TeamPort  ifup-isdn    ifup-sit
ifcfg-enp0s8     ifdown-eth   ifdown-routes  ifup-aliases   ifup-plip    ifup-tunnel
ifcfg-lo         ifdown-ippp  ifdown-sit     ifup-bnep      ifup-plusb   ifup-wireless
ifdown           ifdown-ipv6  ifdown-tunnel  ifup-eth       ifup-post    init.ipv6-global
ifdown-Team      ifdown-isdn  ifup           ifup-ippp      ifup-ppp     network-functions
ifdown-TeamPort  ifdown-post  ifup-Team      ifup-ipv6      ifup-routes  network-functions-ipv6

/etc/sysconfig/network-scripts 해당 디렉토리를 확인해보면 각종 인터페이스들에 대한 스크립트 파일들이 있는 것을 확인할 수 있다. 예를들어, 인터페이스 이름이 enp0s8인 것에 대한 스크립트 파일은 ifcfg-enp0s8이다. 만약, eth0이었다면 ifcfg-eht0이라는 파일이 존재할 것이다.

$ vi ifcfg-enp0s8

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s8
UUID=e5693558-c885-40e2-872a-dd2d84d21c3e
DEVICE=enp0s8
ONBOOT=no

ifcfg-enp0s8 파일을 들여다보면 위의 내용과 같다. 우선, 네트워크를 활성화하기 위해서는 ONBOOT 옵션을 yes로 바꾸어주면 된다. 해당 옵션은 부팅 시에 해당 인터페이스를 UP할 것인지를 결정하는 옵션으로 yes로 바꾸어주면 재실행시 해당 인터페이스를 활성화할 수 있다.

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s8
UUID=e5693558-c885-40e2-872a-dd2d84d21c3e
DEVICE=enp0s8
ONBOOT=yes
  • BOOTROTO=dhcp
    • 해당 옵션은 IP 할당 방식을 동적(dhcp) 혹은 고정(static)으로 설정할 수 있는 옵션으로 초기값은 dhcp로 되어있다.
    • 고정 IP를 사용하기 위해서는 IP주소, 서브넷마스크, 게이트웨이를 설정해주어야한다.
  • IPADDR=IPv4주소
    • BOOTROTO=static일 경우 포함해야하는 옵션으로 고정 IP주소를 지정할 수 있다.
    • Ex) IPADDR=192.168.0.101
  • NETMASK=IPv4서브넷마스크
    • 서브넷 마스크를 지정하는 옵션
    • Ex) NETMASK=255.255.255.0
  • GATEWAY=gateway IPv4주소
    • 게이트웨이를 지정하는 옵션이다.
    • Ex) GATEWAY=192.168.0.1

network 서비스 재시작

$ systemctl restart network

해당 명령어를 통해 network 서비스를 재시작해줌으로써 수정한 네트워크 인터페이스 스크립트가 적용되도록 한다.

$ ip addr

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:c6:c2:2f brd ff:ff:ff:ff:ff:ff
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:af:cc:62 brd ff:ff:ff:ff:ff:ff
    inet 192.168.56.105/24 brd 192.168.56.255 scope global noprefixroute dynamic enp0s8
       valid_lft 593sec preferred_lft 593sec
    inet6 fe80::9248:1080:be4e:6453/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

그리고나서 다시 $ ip addr명령어를 통해 네트워크 인터페이스에 할당된 IP주소를 확인해보면 enp0s8인터페이스에 192.168.56.105라는 IP주소가 할당되어있는 것을 확인해볼 수 있다.

반응형

'Programming > Linux' 카테고리의 다른 글

[Linux] CentOS7 Hostname 변경  (0) 2020.12.21
[Linux] 사용자 및 권한 관련 명령어  (0) 2020.07.10
[Linux] 리눅스 기본 명령어 다루기  (0) 2020.07.07

BELATED ARTICLES

more