이 문서에서는 Linux CentOS/RHEL 7/8 에서 네트워크를 구성하는 방법을 고려할 것입니다. 구성 파일을 사용하여 네트워크 인터페이스를 설정하고 기본 네트워크 구성 도구를 검색하는 등의 작업을 수행합니다. 모든 서버의 구성은 해당 서버의 네트워크 구성에서 시작되기 때문에 관련 주제입니다.
이 문서에서는 표준 네트워크를 사용하는 RHEL/CentOS 7의 네트워크 구성 측면을 다룹니다. 서비스. 기본 NetworkManager(NM)를 사용하는 방법도 알아보겠습니다. CentOS/RHEL 8에서 네트워킹을 구성합니다.
RHEL/CentOS의 네트워크 인터페이스 장치 이름 지정
Linux의 기존 네트워크 인터페이스 명명 체계는 eth0과 같은 이름을 할당합니다. , eth1, 등. 그러나 이러한 이름은 인터페이스에 밀접하게 바인딩되어 있지 않으며 재부팅 후 여러 인터페이스가 다른 이름을 가질 수 있습니다. 예를 들어 firewalld 또는 iptables를 통해 방화벽을 구성할 때 몇 가지 문제가 발생할 수 있습니다. 이로 인해 RedHat 7 및 CentOS 7부터 다른 명명 체계의 계층을 기반으로 네트워크 인터페이스 이름을 할당하기로 결정했습니다. 기본적으로 systemd는 사용 가능하고 적용 가능한 첫 번째 것을 차례로 선택하여 명명 체계를 적용합니다. 네트워크 장치 이름은 자동으로 할당되며 하드웨어가 추가되거나 변경되어도 변경되지 않습니다. 반면에 이러한 인터페이스 이름은 읽기가 어렵습니다. g., enp5s0 또는 ens3 기존의 eth0 대비 또는 eth1 .
다음 작업을 수행하여 기본 Linux 인터페이스 이름으로 돌아갈 수 있습니다.
/etc/default/grub 수정 :
# nano /etc/default/grub
GRUB_CMDLINE_LINUX에 다음을 추가합니다. 줄:
net.ifnames=0 biosdevname=0
다음은 전체 GRUB 라인의 예입니다.
GRUB_CMDLINE_LINUX="consoleblank=0 fsck.repair=yes crashkernel=auto nompath selinux=0 rhgb 조용한 net.ifnames=0 biosdevname=0"
grub 구성 새로 고침:
# grub2-mkconfig -o /boot/grub2/grub.cfg
네트워크 인터페이스의 구성 파일 이름 바꾸기:
# mv /etc/sysconfig/network-scripts/ifcfg-ens3 /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE 변경 값:

파일을 저장하고 호스트를 재부팅한 다음 변경 사항이 적용되었는지 확인하십시오.
# ip a

인터페이스는 eth0이라고 합니다. 지금.
CentOS/RHEL 설치 중 초기 네트워크 구성
처음에 CentOS Linux 설치 중에 "네트워크 및 호스트 이름을 클릭하여 그래픽 모드에서 네트워크 인터페이스를 구성할 수 있습니다. " 메뉴에서. 여기에서 서버 이름을 지정하고 IP 주소와 게이트웨이, DNS 등을 추가합니다. 위의 링크를 따라 이 단계에서 네트워크 구성에 대한 자세한 가이드를 참조하십시오.
CentOS/RHEL에서 네트워크 인터페이스 구성 파일을 편집하는 방법
Linux 호스트에서 사용 가능한 네트워크 인터페이스 목록을 표시해 보겠습니다.
# ip a
Linux 호스트의 네트워크 구성 파일은 /etc/sysconfig/network-scripts에 저장됩니다. . NetworkManager 데몬은 각 네트워크 인터페이스에 대해 이러한 파일을 생성합니다. 이 경우 구성 파일의 이름은 ifcfg-eth0 입니다. (네트워크 인터페이스 명명 체계에 따라 다른 이름을 가질 수 있습니다.)
주요 매개변수를 살펴보겠습니다.
DEVICE– 시스템의 이름과 일치하는 네트워크 어댑터의 이름(이 예에서는 eth0)BOOTPROTOIP 주소가 할당되는 방식(고정 수동으로 입력한 값입니다. dhcp IP 주소가 자동으로 할당됨을 의미)IPADDR– IP 주소NETMASK– 네트워크 마스크GATEWAY– 기본 게이트웨이DNS1기본 DNS 서버입니다.DNS2대체 DNS 서버입니다.ONBOOT네트워크 인터페이스를 시작하는 방법입니다(예 — 자동, 아니요 — 매뉴얼)UUID네트워크 인터페이스의 고유 식별자입니다. uuidgen을 사용하여 직접 생성할 수 있습니다. 명령IPV4_FAILURE_FATAL잘못된 구성이 있는 경우 IPv4 네트워크 인터페이스를 비활성화합니다(예). — 비활성화, 아니요 — 나뭇잎 활성화)IPV6_FAILURE_FATAL잘못된 구성이 있는 경우 IPv6 네트워크 인터페이스를 비활성화합니다(예). — 비활성화, 아니요 — 나뭇잎 활성화)IPV6_AUTOCONFIPv6 자동 구성 허용 또는 거부IPV6_INITIPv6 주소 지정 사용 가능(예 — IPv6 주소 지정이 사용됩니다. 아니요 — 주소 지정이 사용되지 않음)PEERROUTESDHCP를 사용할 때 기본 게이트웨이 구성의 우선 순위를 설정합니다.IPV6_PEERROUTESIPv6용 DHCP를 사용할 때 기본 게이트웨이 구성의 우선 순위를 설정합니다.
이 정보를 바탕으로 네트워크 인터페이스를 구성해 보겠습니다.
CentOS/RHEL에서 고정 IP 주소를 구성하는 방법
편집하려면 네트워크 구성 파일을 엽니다.
# mcedit /etc/sysconfig/network-scripts/ifcfg-eth0

이 예에서는 고정 IP 주소, 서브넷 마스크, 게이트웨이 및 여러 DNS 서버를 지정했습니다. 자동 인터페이스 부팅 활성화:
ONBOOT="예"
변경한 후 네트워크를 다시 시작하세요. 서비스. 정상이면 다음 목록이 표시됩니다.
# service network restart
네트워크 다시 시작(systemctl을 통해):[ 확인 ]
또한 모든 연결 프로필을 다시 로드할 수도 있습니다.
# nmcli connection reload
DHCP에서 동적 IP 주소를 얻는 방법
서버가 네트워크의 DHCP 서버에서 동적 IP 주소를 가져와야 하는 경우 인터페이스 구성 파일을 열고 설정을 변경합니다.

IP 주소 및 마스크와 관련된 모든 매개변수를 제거하고 dhcp 에 IP 주소를 할당하는 방식을 변경했습니다. (BOOTPROTO=”dhcp”). 모든 변경을 완료한 후 네트워크 서비스를 다시 로드하는 것을 잊지 마십시오.
RHEL/CentOS에서 IPv6을 비활성화하는 방법
기사가 작성되었을 때, ipv6 활발하지 않았으며 종종 관리자는 ipv4 사용을 선호합니다. , 가능하다면. 따라서 IPv6 프로토콜을 사용하지 않는 경우 서버에서 비활성화하십시오. 두 서비스 모두 ipv6과 함께 작동하도록 구성되어 있지 않은 경우 네트워크 인터페이스 구성을 진행할 수 있습니다. 그렇지 않으면 수표로 시작하는 것이 좋습니다. 어떤 서비스가 IPv6을 사용하고 있는지 확인하고 서비스 구성에서 프로토콜을 비활성화해야 합니다. 다음 명령을 실행하십시오:
# netstat -tulnp

테스트 서버가 있으므로 ipv6 sshd 및 chronyd에만 사용됩니다. ":::"에 의해 감지될 수 있습니다.
네트워크 구성에서 ipv6을 비활성화한 후 문제를 방지하려면 서버에서 ipv6을 사용하는 서비스에 대한 프로토콜을 비활성화하십시오. 예를 들어 sshd 구성 파일을 엽니다.
# mcedit /etc/ssh/sshd_config
다음 줄의 주석 처리를 제거합니다.
#Address가족 모두#ListenAddress 0.0.0.0
그런 다음 서비스를 다시 시작합니다.
# service sshd restart

보시다시피, ipv6 지금은 sshd에서 사용할 수 없습니다. 다른 서비스도 마찬가지입니다.
네트워크 설정에서 ipv6 프로토콜을 비활성화합시다. /etc/sysctl.conf를 엽니다. :
# nano /etc/sysctl.conf
그리고 거기에 다음 줄을 추가하십시오:
net.ipv6.conf.all.disable_ipv6 =1net.ipv6.conf.default.disable_ipv6 =1
파일을 저장하고 다음을 사용하여 변경 사항을 적용하십시오.
# sysctl -p
net.ipv6.conf.all.disable_ipv6 =1net.ipv6.conf.default.disable_ipv6 =1
그런 다음 /etc/sysconfig/network를 엽니다. . 다음 구성을 추가하십시오.
NETWORKING_IPV6=noIPV6INIT=아니요

네트워크 구성 인터페이스 파일 /etc/sysconfig/network-scripts/ifcfg-eth0에서 다음 줄을 제거합니다.
IPV6INIT="예"
그리고 마지막으로 grub에서 ipv6 사용을 허용하지 않습니다.
# nano /etc/default/grub
GRUB_CMDLINE_LINUX 줄 끝에 다음을 추가합니다.
ipv6.disable=1

모든 변경을 수행한 후 파일을 저장하고 grub을 업데이트합니다.
# grub2-mkconfig -o /boot/grub2/grub.cfg
서버를 재부팅하고 네트워크 구성을 확인하십시오.
# ifconfig
ipv6 프로토콜이 서버에서 비활성화되어 있습니다.
CentOS/RHEL에서 DNS 네임서버 설정
/etc/resolv.conf를 사용하여 호스트의 DNS 네임서버를 구성할 수 있습니다. 또는 네트워크 인터페이스 설정에서 지정하십시오. Linux 네트워크 인터페이스에 대한 정적 구성을 설정할 때 다음 매개변수를 사용하여 DNS 서버를 이미 지정했습니다.
DNS1=DNS2=DNS3=
필요한 DNS 서버를 설정하고 네트워크를 다시 시작하십시오. 서비스.
DNS 네임서버는 자동으로 /etc/resolv.conf에 등록됩니다. 네트워크 구성 파일에서 가져옵니다. 네트워크 구성 중에 DNS 서버를 지정하지 않은 경우 /etc/resolv.conf에서 수동으로 지정하세요. :
네임서버 1.1.1.1네임서버 8.8.8.8네임서버 8.8.4.4
RHEL/CentOS에서 단일 네트워크 인터페이스에 대한 다중 IP 주소 생성
네트워크 인터페이스에서 여러 IP 주소를 사용하려면 인터페이스 별칭을 통해 구성하거나 기본 구성 파일에 추가 IP 주소를 추가할 수 있습니다.
# nano /etc/sysconfig/network-scripts/ifcfg-eth0
다음과 같이 변경하십시오.
# parse-kickstartUUID="b8bccd4c-fb1b-4d36-9d45-044c7c0194eb"IPADDR1="*.*.*.*"IPADDR2="*.*.*.*"GATEWAY="*.*에 의해 생성됨. *.*"NETMASK="255.255.255.0"BOOTPROTO="정적"DEVICE="eth0"ONBOOT="yes"DNS1=1.1.1.1DNS2=8.8.8.8DNS3=8.8.4.4
어디에:IPADDR1 – 첫 번째 IP 주소IPADDR2 – 두 번째 IP 주소GATEWAY – 주 게이트웨이
또는 별칭 만들기 기본 구성 파일에:
# nano /etc/sysconfig/network-scripts/ifcfg-eth0:1
여기에 몇 줄을 추가하되 게이트웨이를 지정하지 마십시오.

모든 설정을 구성한 후 네트워크 서비스를 다시 시작하십시오.
# service network restart
Windows에서는 단일 네트워크 인터페이스에서 여러 IP 주소(별칭)를 구성할 수도 있습니다.
RHEL/CentOS에서 VLAN(802.1Q) 태깅 구성
CentOS/RHEL/Fedora의 네트워크 인터페이스에 대한 다중 VLAN 구성에 대한 자세한 내용은 RHEL/CentOS Linux에서 802.1Q VLAN 태깅을 구성하는 방법 문서에서 설명했습니다.
RHEL/CentOS에서 다중 네트워크 인터페이스 구성
서버에 여러 네트워크 인터페이스가 있는 경우 서로 다른 IP 주소를 지정할 수 있습니다. 방법을 알아보겠습니다. 서버에 둘 이상의 네트워크 인터페이스가 있는 경우 "ip " 명령은 다음 정보를 표시해야 합니다.
# ip a
1:lo:mtu 65536 qdisc noqueue state UNKNOWN 그룹 기본 qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:012700inet .0.1/8 범위 호스트 lovalid_lft 영원히 preferred_lft 영원히2:eth0: mtu 1500 qdisc pfifo_fast 상태 UP 그룹 기본 qlen 1000link/ether 52:52:42:54:2c:ff:ff ff:ff:ff:ffinet 15.*.*.*/16 brd 15.*.*.255 범위 전역 eth0valid_lft 영원히 preferred_lft 영원히3:eth1: mtu 1500 qdisc noop 상태 DOWN 그룹 기본값 qlen 1000link/ether 52:52:42:54:2c:b8 brd ff:ff:ff:ff:ff:f
두 번째 인터페이스를 구성하려면 해당 파일을 생성합니다.# nano /etc/sysconfig/network-scripts/ifcfg-eth1
다음 구성을 추가합니다.
IPADDR="*.*.*.*"GATEWAY="*.*.*.*"NETMASK="255.255.255.0"BOOTPROTO="정적"DEVICE="eth1"ONBOOT="예"

그런 다음 서버에 기본 게이트웨이를 설정해야 합니다. 지금 어떤 게이트웨이가 설정되어 있는지 확인하고 필요한 경우 변경하십시오:
# netstat -nr
커널 IP 라우팅 테이블 대상 게이트웨이 Genmask 플래그 MSS 창 irtt Iface0.0.0.0 15.*.*.1 0.0.0.0 UG 0 0 0 eth1169.254.0.0 0.0.0.0 255.255.0.0 255.255.0.9 Ueth 04.6 eth1 인터페이스는 기본 게이트웨이입니다. eth0을 사용하고 싶습니다. 바꿔봅시다:
# route add default gw *.*.*.*– 게이트웨이를 eth0에 지정된 게이트웨이로 교체
# route delete default gw *.*.*.*— eth1 게이트웨이 제거
서버 재부팅 후에도 이 설정을 유지하려면 다음 명령어를 rc.local에 추가하세요. (RHEL/CentOS에서 부팅 시 서비스를 자동으로 시작하는 방법 문서 참조).
RHEL/CentOS의 유용한 네트워킹 명령
ifdown eth1— 지정된 네트워크 인터페이스를 비활성화합니다.ifup eth1– 지정된 네트워크 인터페이스를 활성화합니다.ifconfig– 모든 네트워크 인터페이스에 대한 정보를 표시합니다.ifconfig -a | grep ether | gawk '{print $2}'— 인터페이스의 MAC 주소를 표시하는 명령입니다.ip a | grep ether | gawk '{print $2}'— ip를 사용하여 위와 동일service network restart또는systemctl restart network– systemctl을 사용하여 네트워크 서비스를 다시 시작합니다.systemctl restart NetworkManager.service– NM을 다시 시작합니다.ip route또는ip route show— Linux에서 라우팅 테이블을 표시합니다.ping host– 지정된 호스트에 pingwhois domain– 도메인에 대한 후이즈 정보 표시dig domain– 도메인에 대한 DNS 정보 표시
RHEL/CentOS의 네트워크 관리 도구
서버가 한동안 작동했거나 사용자가 구성하지 않은 경우 가장 먼저 해야 할 일은 서버에 어떤 인터페이스가 있는지 알아보는 것입니다. 더 편리하게 사용하려면 기본 저장소에서 필요한 도구를 설치하세요.
# yum install net-tools -y
설치 후 ifconfig를 사용할 수 있습니다. :
# ifconfig
eth0:flags=4163mtu 1500inet 15.*.*.* 넷마스크 255.255.255.0 브로드캐스트 185.*.*.255
보시다시피 네트워크 인터페이스의 이름은 eth0입니다. .
net-tools를 설치하지 않은 경우 , 다음 명령을 사용하여 인터페이스를 볼 수 있습니다.
# ip a
출력은 거의 동일합니다.
CentOS/RHEL 8에서 NetworkManager를 사용한 네트워크 관리
RHEL/CentOS 8에서는 NetworkManager 만 사용하는 것이 좋습니다. 네트워크 구성을 위해. 이 서비스는 네트워크 연결을 관리하고 설정을 제어하며 네트워크 어댑터에 변경 사항을 적용합니다.
NM을 확인하려면 상태, 다음 명령을 사용하십시오:
# systemctl status NetworkManager.service

CentOS는 명령 콘솔 nmcli 사용을 제안합니다. 또는 그래픽 도구 nmtui 네트워크를 구성합니다.
네트워크 구성 모드로 이동하려면 다음 명령을 입력하십시오.
# nmtui

첫 번째 항목을 선택하면 편집할 네트워크 인터페이스를 선택하는 창이 표시됩니다.

인터페이스를 선택하고 편집하십시오:

장치 이름, IP 주소, 게이트웨이 및 DNS 서버를 편집할 수 있습니다. 또한 NM 대화형 메뉴에서 DHCP에 IP 주소를 할당하는 방법을 변경할 수 있습니다.

"수동 변경 "에서 "자동으로 ":

그런 다음 변경 사항을 저장합니다. nmtui를 사용하면 구성 파일에서와 같이 그래픽 모드에서 동일한 구성 작업을 수행할 수 있습니다. 명령 프롬프트를 사용하여 인터페이스를 구성하려는 경우 nmcli를 사용할 수 있습니다. 예를 들어 다음 명령은 eth1의 IP 주소, 게이트웨이 및 DNS 서버를 변경합니다.
# nmcli con mod eth1 ipv4.addresses 192.168.11.24/24
# nmcli con mod eth1 ipv4.gateway 192.168.11.1
# nmcli con mod eth1 ipv4.dns "8.8.4.4"
변경 사항을 적용하려면 인터페이스를 다시 시작하십시오.
# nmcli con up eth1
구성 파일로 작업하는 것이 더 편리한 경우 특수 패키지 network-scripts를 설치하세요. (기본적으로 CentOS 8에는 없음) yum을 사용합니다.
# yum install network-scripts -y
업그레이드됨:initscripts-10.00.1-1.el8_0.1.x86_64Installed:network-scripts-10.00.1-1.el8_0.1.x86_64 network-scripts-team-1.27-10.el8.x86_64완료!사전>설치 후 앞에서 설명한 대로 구성 파일에서 네트워크 설정을 편집할 수 있습니다.

