Computer >> Máy Tính >  >> Hệ thống >> Linux

Định cấu hình cài đặt mạng trên RHEL / CentOS

Trong bài viết này, chúng tôi sẽ xem xét cách định cấu hình mạng trên Linux CentOS / RHEL 7/8 và thiết lập giao diện mạng bằng cách sử dụng tệp cấu hình, khám phá các công cụ cấu hình mạng cơ bản, v.v. Đây là một chủ đề có liên quan, vì cấu hình của bất kỳ máy chủ nào đều bắt đầu từ cấu hình mạng trên đó.

Bài viết này đề cập đến các khía cạnh của cấu hình mạng trên RHEL / CentOS 7 sử dụng mạng tiêu chuẩn dịch vụ. Chúng tôi cũng sẽ nghiên cứu cách sử dụng NetworkManager (NM) mặc định trong CentOS / RHEL 8 để định cấu hình mạng.

Đặt tên thiết bị giao diện mạng trên RHEL / CentOS

Lược đồ đặt tên giao diện mạng truyền thống trong Linux chỉ định các tên như eth0 , eth1, vv Tuy nhiên, những tên này không bị ràng buộc chặt chẽ với các giao diện và sau khi khởi động lại, nhiều giao diện có thể nhận được các tên khác nhau. Nó có thể gây ra một số vấn đề, chẳng hạn như khi bạn định cấu hình tường lửa thông qua firewalld hoặc iptables. Do đó, bắt đầu từ RedHat 7 và CentOS 7, người ta đã quyết định gán các tên giao diện mạng dựa trên phân cấp của các sơ đồ đặt tên khác nhau. Theo mặc định, systemd sẽ áp dụng các sơ đồ đặt tên lần lượt chọn phương án đầu tiên đã có và có thể áp dụng. Tên thiết bị mạng được gán tự động và không thay đổi ngay cả khi phần cứng được thêm vào hoặc thay đổi. Mặt khác, tên giao diện như vậy khó đọc hơn, e. g., enp5s0 hoặc ens3 so với eth0 truyền thống hoặc eth1 .

Bạn có thể quay lại tên giao diện Linux mặc định bằng cách thực hiện các tác vụ sau.

Chỉnh sửa / etc / default / grub :

# nano / etc / default / grub

Thêm phần sau vào GRUB_CMDLINE_LINUX dòng:

 net.ifnames =0 biosdevname =0 

Đây là một ví dụ về dòng GRUB đầy đủ:

 GRUB_CMDLINE_LINUX ="consoleblank =0 fsck.repair =yes crashkernel =auto nompath selinux =0 rhgb silence net.ifnames =0 biosdevname =0" 

Làm mới cấu hình grub của bạn:

# grub2-mkconfig -o /boot/grub2/grub.cfg

Đổi tên tệp cấu hình của giao diện mạng:

# mv / etc / sysconfig / network-scripts / ifcfg-ens3 / etc / sysconfig / network-scripts / ifcfg-eth0

Và thay đổi THIẾT BỊ giá trị:

Định cấu hình cài đặt mạng trên RHEL / CentOS

Lưu tệp, khởi động lại máy chủ của bạn và đảm bảo nếu các thay đổi đã được áp dụng:

# ip a

Định cấu hình cài đặt mạng trên RHEL / CentOS

Giao diện được gọi là eth0 bây giờ.

Cấu hình mạng ban đầu trong khi cài đặt CentOS / RHEL

Ban đầu, trong quá trình cài đặt CentOS Linux, bạn có thể định cấu hình giao diện mạng của mình ở chế độ đồ họa bằng cách nhấp vào “ Mạng &Tên máy chủ ”Trong menu. Tại đây bạn chỉ định tên máy chủ của mình, thêm địa chỉ IP và cổng vào, DNS,… Xem hướng dẫn chi tiết về cấu hình mạng ở bước này theo liên kết trên.

Cách chỉnh sửa tệp cấu hình giao diện mạng trên CentOS / RHEL?

Hãy hiển thị danh sách các giao diện mạng có sẵn trên máy chủ lưu trữ LInux

# ip a

Các tệp cấu hình mạng của máy chủ Linux của bạn được lưu trữ trong / etc / sysconfig / network-scripts . Daemon NetworkManager tạo các tệp này cho mỗi giao diện mạng. Trong trường hợp của chúng tôi, tệp cấu hình được gọi là ifcfg-eth0 (bạn có thể có một tên khác tùy thuộc vào cách đặt tên giao diện mạng của bạn).

Chúng ta hãy nghiên cứu các thông số chính:

  • THIẾT BỊ - tên của bộ điều hợp mạng khớp với tên của nó trong hệ thống (trong ví dụ của chúng tôi là eth0)
  • BOOTPROTO là cách địa chỉ IP được chỉ định ( tĩnh là giá trị được nhập theo cách thủ công, dhcp nghĩa là địa chỉ IP được chỉ định tự động)
  • IPADDR - địa chỉ IP
  • NETMASK - mặt nạ mạng
  • GATEWAY - một cổng mặc định
  • DNS1 là máy chủ DNS chính
  • DNS2 là một máy chủ DNS thay thế
  • ONBOOT là phương pháp để bắt đầu giao diện mạng của bạn ( - tự động, không - hướng dẫn sử dụng)
  • UUID là mã định danh duy nhất của giao diện mạng của bạn. Bạn có thể tự tạo nó bằng cách sử dụng uuidgen lệnh
  • IPV4_FAILURE_FATAL vô hiệu hóa giao diện mạng IPv4 nếu nó có cấu hình sai ( - tắt, không - bật lá)
  • IPV6_FAILURE_FATAL vô hiệu hóa giao diện mạng IPv6 nếu nó có cấu hình sai ( - tắt, không - bật lá)
  • IPV6_AUTOCONF cho phép hoặc từ chối tự động định cấu hình IPv6
  • IPV6_INIT cho phép sử dụng địa chỉ IPv6 ( - Địa chỉ IPv6 được sử dụng, không - địa chỉ không được sử dụng)
  • PEERROUTES đặt mức độ ưu tiên của cấu hình cổng mặc định khi sử dụng DHCP
  • IPV6_PEERROUTES đặt mức độ ưu tiên của cấu hình cổng mặc định khi sử dụng DHCP cho IPv6

Hãy định cấu hình giao diện mạng dựa trên thông tin này.

Cách định cấu hình địa chỉ IP tĩnh trong CentOS / RHEL?

Mở tệp cấu hình mạng để chỉnh sửa:

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

Định cấu hình cài đặt mạng trên RHEL / CentOS

Trong ví dụ này, tôi đã chỉ định địa chỉ IP tĩnh, mặt nạ mạng con, cổng vào và một số máy chủ DNS. Bật khởi động giao diện tự động:

 ONBOOT =”vâng” 

Sau khi bạn đã thực hiện các thay đổi, hãy khởi động lại mạng của bạn dịch vụ. Nếu đồng ý, bạn sẽ thấy danh sách sau:

# dịch vụ khởi động lại mạng

 Khởi động lại mạng (qua systemctl):[OK] 

Ngoài ra, bạn có thể chỉ cần tải lại tất cả các cấu hình kết nối:

# nmcli kết nối tải lại

Làm cách nào để lấy địa chỉ IP động từ DHCP?

Nếu máy chủ của bạn phải lấy địa chỉ IP động từ máy chủ DHCP trên mạng của bạn, hãy mở tệp cấu hình giao diện và thay đổi cài đặt:

Định cấu hình cài đặt mạng trên RHEL / CentOS

Chúng tôi đã xóa tất cả các thông số liên quan đến địa chỉ IP và mặt nạ, đồng thời thay đổi cách gán địa chỉ IP cho dhcp (BOOTPROTO =”dhcp”). Sau khi thực hiện tất cả các thay đổi, đừng quên tải lại dịch vụ mạng.

Cách tắt IPv6 trên RHEL / CentOS?

Vào thời điểm bài viết được viết, ipv6 không tích cực và thường quản trị viên thích sử dụng ipv4 , nếu có thể. Vì vậy, nếu bạn không sử dụng giao thức IPv6, hãy tắt nó trên máy chủ của bạn. Nếu bạn chắc chắn rằng không có dịch vụ nào của bạn được định cấu hình để hoạt động với ipv6, bạn có thể tiến hành cấu hình giao diện mạng. Nếu không, tốt hơn là nên bắt đầu bằng séc. Bạn cần kiểm tra dịch vụ nào đang sử dụng IPv6 và tắt giao thức trong cấu hình dịch vụ. Chạy lệnh này:

# netstat -tulnp

Định cấu hình cài đặt mạng trên RHEL / CentOS

Tôi có một máy chủ thử nghiệm, vì vậy ipv6 chỉ được sử dụng cho sshd và chronyd. Nó có thể được phát hiện bởi “:::”.

Để tránh sự cố sau khi tắt ipv6 trong cấu hình mạng, hãy tắt giao thức cho các dịch vụ sử dụng chúng trên máy chủ của bạn. Ví dụ:mở tệp cấu hình sshd:

# mcedit / etc / ssh / sshd_config

Và bỏ ghi chú những dòng này:

 #AddressFamily bất kỳ # ListenAddress 0.0.0.0 

Sau đó khởi động lại dịch vụ:

# service sshd restart

Định cấu hình cài đặt mạng trên RHEL / CentOS

Như bạn có thể thấy, ipv6 hiện không có sẵn cho sshd. Làm tương tự đối với các dịch vụ khác.

Hãy tắt giao thức ipv6 trong cài đặt mạng. Mở /etc/sysctl.conf :

# nano /etc/sysctl.conf
Và thêm các dòng sau vào đó:

 net.ipv6.conf.all.disable_ipv6 =1net.ipv6.conf.default.disable_ipv6 =1 

Lưu tệp và áp dụng các thay đổi bằng cách sử dụng:

# sysctl -p

 net.ipv6.conf.all.disable_ipv6 =1net.ipv6.conf.default.disable_ipv6 =1 

Sau đó, mở / etc / sysconfig / network . Thêm cấu hình này vào nó:

 NETWORKING_IPV6 =noIPV6INIT =không 

Định cấu hình cài đặt mạng trên RHEL / CentOS

Xóa dòng sau khỏi tệp giao diện cấu hình mạng / etc / sysconfig / network-scripts / ifcfg-eth0:

 IPV6INIT ="có" 

Và cuối cùng, không cho phép sử dụng ipv6 trong grub:

# nano / etc / default / grub

Thêm phần sau vào cuối dòng GRUB_CMDLINE_LINUX:

 ipv6.disable =1 

Định cấu hình cài đặt mạng trên RHEL / CentOS

Sau khi thực hiện tất cả các thay đổi, hãy lưu tệp và cập nhật grub:

# grub2-mkconfig -o /boot/grub2/grub.cfg

Khởi động lại máy chủ của bạn và kiểm tra cấu hình mạng của bạn:

# ifconfig
ipv6 giao thức bị tắt trên máy chủ của bạn.

Đặt Máy chủ DNS trên CentOS / RHEL

Bạn có thể định cấu hình máy chủ định danh DNS cho máy chủ của mình bằng cách sử dụng /etc/resolv.conf hoặc chỉ định chúng trong cài đặt giao diện mạng của bạn. Khi thiết lập cấu hình tĩnh cho giao diện mạng Linux, chúng tôi đã chỉ định máy chủ DNS bằng các tham số sau:

 DNS1 =DNS2 =DNS3 =

Đặt máy chủ DNS bạn cần và khởi động lại mạng dịch vụ.

Máy chủ định danh DNS được đăng ký tự động trong /etc/resolv.conf lấy chúng từ tệp cấu hình mạng. Nếu bạn không chỉ định máy chủ DNS trong quá trình định cấu hình mạng, hãy thực hiện theo cách thủ công trong /etc/resolv.conf :

 máy chủ định danh 1.1.1.1 máy chủ tên 8.8.8.8 máy chủ tên 8.8.4.4 

Tạo nhiều địa chỉ IP cho giao diện mạng đơn trên RHEL / CentOS

Nếu bạn muốn sử dụng nhiều địa chỉ IP trong giao diện mạng của mình, bạn có thể định cấu hình nó thông qua bí danh giao diện hoặc thêm một địa chỉ IP bổ sung vào tệp cấu hình chính.

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

Thay đổi nó như thế này:

 # Generated by parse-kickstartUUID ="b8bccd4c-fb1b-4d36-9d45-044c7c0194eb" IPADDR1 ="*. *. *. *" IPADDR2 ="*. *. *. *" GATEWAY ="*. *. *" GATEWAY ="*. *. *. * "NETMASK =" 255.255.255.0 "BOOTPROTO =" static "DEVICE =" eth0 "ONBOOT =" yes "DNS1 =1.1.1.1DNS2 =8.8.8.8DNS3 =8.8.4.4 

Trong đó:
IPADDR1 - địa chỉ IP đầu tiên
IPADDR2 - địa chỉ IP thứ hai
GATEWAY - cổng chính

Hoặc tạo một bí danh vào tệp cấu hình chính của bạn:

# nano / etc / sysconfig / network-scripts / ifcfg-eth0:1

Và thêm một số dòng ở đây, nhưng không chỉ định cổng:

Định cấu hình cài đặt mạng trên RHEL / CentOS

Sau khi cấu hình tất cả các cài đặt, hãy khởi động lại dịch vụ mạng của bạn:

# dịch vụ khởi động lại mạng
Trên Windows, bạn cũng có thể cấu hình nhiều địa chỉ IP (bí danh) trên một giao diện mạng duy nhất.

Định cấu hình gắn thẻ VLAN (802.1Q) trên RHEL / CentOS

Chúng tôi đã giới thiệu thêm về cấu hình của nhiều VLAN cho giao diện mạng trong CentOS / RHEL / Fedora trong bài viết:Cách định cấu hình gắn thẻ VLAN 802.1Q trên RHEL / CentOS Linux.

Định cấu hình Nhiều Giao diện Mạng trên RHEL / CentOS

Nếu bạn có một số giao diện mạng trên máy chủ của mình, bạn có thể chỉ định các địa chỉ IP khác nhau cho chúng. Hãy cùng tìm hiểu cách thực hiện. Nếu bạn có nhiều giao diện mạng trên máy chủ của mình, thì “ ip a Lệnh ”sẽ hiển thị thông tin này:

# ip a

 1:lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link / loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0 .0.1 / 8 máy chủ phạm vi lovalid_lft mãi mãi ưa thích_lft mãi mãi2:eth0: mtu 1500 qdisc pfifo_fast trạng thái UP nhóm mặc định qlen 1000link / ether 52:52:42:54:2c:36 brd ff:ff:ff:ff:ff:ffinet 15. *. *. * / 16 brd 15. *. *. 255 phạm vi toàn cầu eth0valid_lft mãi mãi ưa thích 52:52:42:54:2c:b8 brd ff:ff:ff:ff:ff:f 

Để định cấu hình giao diện thứ hai, hãy tạo tệp cho nó:
# nano / etc / sysconfig / network-scripts / ifcfg-eth1
Và thêm cấu hình sau vào nó:

 IPADDR ="*. *. *. *" GATEWAY ="*. *. *. *" NETMASK ="255.255.255.0" BOOTPROTO ="static" DEVICE ="eth1" ONBOOT ="yes" 

Định cấu hình cài đặt mạng trên RHEL / CentOS

Sau đó, bạn phải đặt một cổng mặc định trên máy chủ của mình. Kiểm tra cổng nào được đặt ngay bây giờ và thay đổi nếu cần:

# netstat -nr

 Bảng định tuyến Kernel IPDestination Gateway Genmask Flags MSS Window 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 U 0 0 0 eth0169.254.0 .0 0.0.0.0 255.255.0.0 U 0 0 0 eth115. *. 0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth015. *. *. 0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 

Giao diện eth1 là cổng chính. Tôi muốn sử dụng eth0. Hãy thay đổi nó:

# route thêm gw mặc định *. *. *. * - thay thế cổng bằng cổng được chỉ định trong eth0

# route delete gw mặc định *. *. *. * - loại bỏ cổng eth1

Định cấu hình cài đặt mạng trên RHEL / CentOS

Nếu bạn muốn giữ cài đặt này sau khi máy chủ khởi động lại, hãy thêm các lệnh này vào rc.local (xem bài viết Cách khởi động dịch vụ tự động khi khởi động trên RHEL / CentOS?).

Các lệnh hữu ích về mạng trên RHEL / CentOS

  • ifdown eth1 - tắt giao diện mạng được chỉ định
  • ifup eth1 - bật giao diện mạng được chỉ định
  • ifconfig - hiển thị thông tin về tất cả các giao diện mạng
  • ifconfig -a | grep ether | gawk '{print $ 2}' - là lệnh hiển thị địa chỉ MAC của giao diện
  • ip a | grep ether | gawk '{print $ 2}' - tương tự như trên bằng cách sử dụng ip a
  • khởi động lại mạng dịch vụ hoặc systemctl khởi động lại mạng - khởi động lại dịch vụ mạng bằng systemctl
  • systemctl khởi động lại NetworkManager.service - khởi động lại NM
  • ip route hoặc ip hiển thị tuyến đường - hiển thị bảng định tuyến trên Linux
  • máy chủ ping - ping máy chủ được chỉ định
  • whois domain - hiển thị thông tin whois về một miền
  • đào tên miền - hiển thị thông tin DNS về một miền

Công cụ quản trị mạng trên RHEL / CentOS

Nếu một máy chủ đã hoạt động được một thời gian hoặc nó chưa được bạn định cấu hình, điều đầu tiên bạn nên làm là tìm hiểu xem trên máy chủ có những giao diện nào. Để thuận tiện hơn, hãy cài đặt các công cụ cần thiết từ kho lưu trữ cơ bản:

# yum install net-tools -y

Sau khi cài đặt, bạn có thể sử dụng ifconfig :

# ifconfig

 eth0:flags =4163  mtu 1500inet 15. *. *. * netmask 255.255.255.0 broadcast 185. *. *. 255 

Như bạn có thể thấy, tên giao diện mạng của chúng tôi là eth0 .

Nếu bạn chưa cài đặt net-tools , bạn có thể xem các giao diện của mình bằng lệnh sau:

# ip a

Đầu ra sẽ gần như giống nhau.

Quản lý mạng bằng NetworkManager trong CentOS / RHEL 8

Trên RHEL / CentOS 8, bạn chỉ nên sử dụng NetworkManager để cấu hình mạng. Dịch vụ này quản lý các kết nối mạng, kiểm soát cài đặt và áp dụng các thay đổi cho bộ điều hợp mạng.

Để kiểm tra NM trạng thái, sử dụng lệnh này:

# systemctl status NetworkManager.service

Định cấu hình cài đặt mạng trên RHEL / CentOS

CentOS đề nghị sử dụng bảng điều khiển lệnh nmcli hoặc một công cụ đồ họa nmtui để định cấu hình mạng.

Để chuyển đến chế độ cấu hình mạng, hãy nhập lệnh sau:

# nmtui

Định cấu hình cài đặt mạng trên RHEL / CentOS

Sau khi chọn mục đầu tiên, bạn sẽ thấy cửa sổ chọn giao diện mạng để chỉnh sửa:

Định cấu hình cài đặt mạng trên RHEL / CentOS

Chọn một giao diện và chỉnh sửa nó:

Định cấu hình cài đặt mạng trên RHEL / CentOS

Bạn có thể chỉnh sửa tên thiết bị, địa chỉ IP, cổng vào và máy chủ DNS. Ngoài ra, bạn có thể thay đổi cách gán địa chỉ IP cho DHCP trong menu tương tác NM:

Định cấu hình cài đặt mạng trên RHEL / CentOS

Thay đổi “ thủ công ”Thành“ tự động ”:

Định cấu hình cài đặt mạng trên RHEL / CentOS

Sau đó, lưu các thay đổi. Sử dụng nmtui, bạn có thể thực hiện các tác vụ cấu hình tương tự trong chế độ đồ họa giống như bạn làm trong các tệp cấu hình. Nếu bạn thích sử dụng dấu nhắc lệnh để định cấu hình giao diện, bạn có thể sử dụng nmcli. Ví dụ:các lệnh sau sẽ thay đổi địa chỉ IP, cổng vào và máy chủ DNS cho eth1.

# 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"

Để áp dụng các thay đổi, hãy khởi động lại giao diện:

# nmcli con up eth1

Nếu bạn làm việc với các tệp cấu hình thuận tiện hơn, hãy cài đặt gói đặc biệt tập lệnh mạng (theo mặc định, CentOS 8 không có nó) bằng cách sử dụng yum.

# yum install network-scripts -y

 Đã nâng cấp:initscripts-10.00.1-1.el8_0.1.x86_64 Đã cài đặt:network-scripts-10.00.1-1.el8_0.1.x86_64 network-scripts-team-1.27-10.el8.x86_64Complete!  

Sau khi cài đặt, bạn có thể chỉnh sửa cài đặt mạng trong tệp cấu hình như được mô tả trước đó.

Định cấu hình cài đặt mạng trên RHEL / CentOS