이 문서에서는 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)BOOTPROTO
IP 주소가 할당되는 방식(고정 수동으로 입력한 값입니다. dhcp IP 주소가 자동으로 할당됨을 의미)IPADDR
– IP 주소NETMASK
– 네트워크 마스크GATEWAY
– 기본 게이트웨이DNS1
기본 DNS 서버입니다.DNS2
대체 DNS 서버입니다.ONBOOT
네트워크 인터페이스를 시작하는 방법입니다(예 — 자동, 아니요 — 매뉴얼)UUID
네트워크 인터페이스의 고유 식별자입니다. uuidgen을 사용하여 직접 생성할 수 있습니다. 명령IPV4_FAILURE_FATAL
잘못된 구성이 있는 경우 IPv4 네트워크 인터페이스를 비활성화합니다(예). — 비활성화, 아니요 — 나뭇잎 활성화)IPV6_FAILURE_FATAL
잘못된 구성이 있는 경우 IPv6 네트워크 인터페이스를 비활성화합니다(예). — 비활성화, 아니요 — 나뭇잎 활성화)IPV6_AUTOCONF
IPv6 자동 구성 허용 또는 거부IPV6_INIT
IPv6 주소 지정 사용 가능(예 — IPv6 주소 지정이 사용됩니다. 아니요 — 주소 지정이 사용되지 않음)PEERROUTES
DHCP를 사용할 때 기본 게이트웨이 구성의 우선 순위를 설정합니다.IPV6_PEERROUTES
IPv6용 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완료!사전>설치 후 앞에서 설명한 대로 구성 파일에서 네트워크 설정을 편집할 수 있습니다.