Wisdom’s Cloud

[Linux] [CentOS] 네트워크 인터페이스 설정 본문

LINUX/Advanced

[Linux] [CentOS] 네트워크 인터페이스 설정

지혜로운지혜쓰 2022. 9. 1. 10:27

이번에는 네트워크 인터페이스를 설정해보자.

 

 

 

일단 ifconfig 명령어를 통해 네트워크 인터페이스를 확인하고 설정할 수 있다.

 

출력 내용은 다음과 같다.

 

  • flags는 네트워크 인터페이스의 상태를 나타낸다. UP(활성화 상태), BROADCAST(브로드캐스트 지원), RUNNING(실행 중인 상태), MULTICAST(멀티캐스트 지원)을 의미한다.
  • mtu는 최대 전송 단위로, 한 번에 보낼 수 있는 최대 데이터 크기를 의미한다.
  • inet, inet6, ether은 각각 네트워크 인터페이스에 할당된 IPv4 주소, IPv6 주소, MAC 주소를 나타낸다. 현재 eth1-4에는 IPv4 주소가 할당되어 있지 않다.
  • RX packetsTX packets은 받은 패킷 정보와 보낸 패킷 정보를 나타낸다.

 

 

이제 아래와 같이 ifconfig 옵션을 사용하여 네트워크 인터페이스를 설정해보자.

[root@test-node-1 ~]# ifconfig eth1 10.10.10.20 netmask 255.255.255.0 mtu 9000
[root@test-node-1 ~]# ifconfig eth2 down
[root@test-node-1 ~]# ifconfig eth3 20.20.20.20 netmask 255.255.0.0 mtu 1500
[root@test-node-1 ~]# ifconfig eth4 192.168.100.20 netmask 255.255.255.0

 

 

설정한대로 네트워크 인터페이스가 변경된 것을 확인할 수 있다.

eth2는 비활성화 하였기 때문에 볼 수 없고, -a 옵션을 넣어야 볼 수 있다.

 

 

이제 ping 명령어를 통해 설정한 네트워크 대역으로 통신이 되는지 테스트해보자.

대상 컴퓨터에 일정 크기의 패킷을 보내고, 응답이 오면 이를 분석해 네트워크 상태를 파악할 수 있다.

-c 옵션을 통해 3개의 패킷을 보냈을 때, 모두 손실 없이 응답이 온 것을 볼 수 있다.

 

 

하지만 ifconfig 명령어를 통한 설정은 시스템이 부팅되면 초기화되기 때문에 영구 저장을 하기 위해서는 /etc/sysconfig/network-scripts/ifcfg-[Interface Name]이라는 이름으로 구성 파일을 만들어줘야 한다. 

/etc/sysconfig/network-scripts/ifcfg-[Interface Name]

 

/etc/sysconfig/network-scripts/ifcfg-[Interface Name] 파일은 각 네트워크 인터페이스에 대한 구성 스크립트다.

 

이 파일에 구성 가능한 매개변수가 다양한데, 일단 위에서 ifconfig 명령어로 설정한 매개변수들만 사용해서 각 네트워크 인터페이스별로 파일을 만들어보자.

여기서 ONBOOT 옵션을 yes로 설정해야 부팅할 때 이 파일을 기반으로 네트워크 인터페이스가 설정된다.

그리고 BOOTPROTO 옵션을 none으로 설정해야 정적으로 IP를 할당받을 수 있으며, 동적으로 IP를 할당받고 싶다면 dhcp로 설정하면 된다.

NM_CONTROLLED 옵션은 no로 설정하여 NetworkManager로부터 해당 네트워크 인터페이스가 컨트롤되지 않게 한다. 이 이유는 2022.09.02 - [LINUX] - [Linux] [CentOS] NetworkManager에 정리해두었다.

[root@test-node-1 ~]# cd /etc/sysconfig/network-scripts/
[root@test-node-1 network-scripts]# vi ifcfg-eth1
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=none
IPADDR=10.10.10.20
PREFIX=24
MTU=9000
NM_CONTROLLED=no

[root@test-node-1 network-scripts]# vi ifcfg-eth2
DEVICE=eth2
ONBOOT=no
BOOTPROTO=none
NM_CONTROLLED=no

[root@test-node-1 network-scripts]# vi ifcfg-eth3
DEVICE=eth3
ONBOOT=yes
BOOTPROTO=none
IPADDR=20.20.20.20
PREFIX=16
MTU=1500
NM_CONTROLLED=no

[root@test-node-1 network-scripts]# vi ifcfg-eth4
DEVICE=eth4
ONBOOT=yes
BOOTPROTO=none
IPADDR=192.168.100.20
PREFIX=24
NM_CONTROLLED=no

 

 

그럼 재부팅 후 확인해보면, 설정한대로 잘 적용된 것을 볼 수 있다. 😃

 

 

 

[참고 문서]

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/deployment_guide/ch-network_interfaces

 

Chapter 11. Network Interfaces Red Hat Enterprise Linux 6 | Red Hat Customer Portal

Access Red Hat’s knowledge, guidance, and support through your subscription.

access.redhat.com

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/deployment_guide/s1-networkscripts-interfaces

 

11.2. Interface Configuration Files Red Hat Enterprise Linux 6 | Red Hat Customer Portal

Access Red Hat’s knowledge, guidance, and support through your subscription.

access.redhat.com

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/deployment_guide/ch-networkmanager#sec-The_NetworkManager_Daemon

 

Chapter 10. NetworkManager Red Hat Enterprise Linux 6 | Red Hat Customer Portal

Access Red Hat’s knowledge, guidance, and support through your subscription.

access.redhat.com