CentOS 自動管理網(wǎng)絡(luò)配置
NetworkManager與nmcli工具
CentOS默認(rèn)使用NetworkManager管理網(wǎng)絡(luò)接口,通過nmcli
命令行工具可實現(xiàn)動態(tài)配置。例如,以下命令創(chuàng)建持久化連接:
nmcli con add type ethernet con-name eth0-auto ifname eth0 ip4 192.168.1.100/24 gw4 192.168.1.1
nmcli con mod eth0-auto ipv4.dns "8.8.8.8 8.8.4.4"
nmcli con up eth0-auto
Shell腳本批量配置
通過編寫Shell腳本實現(xiàn)多節(jié)點批量配置。以下示例腳本自動設(shè)置IP地址和DNS:
#!/bin/bash
INTERFACE="eth0"
IP_ADDR="10.0.0.10/24"
GATEWAY="10.0.0.1"
DNS_SERVERS="10.0.0.53 10.0.0.54"
nmcli con add type ethernet ifname $INTERFACE
ipv4.method manual
ipv4.addresses $IP_ADDR
ipv4.gateway $GATEWAY
ipv4.dns "$DNS_SERVERS"
Ansible自動化方案
使用Ansible Playbook可跨服務(wù)器統(tǒng)一配置網(wǎng)絡(luò)參數(shù):
- name: 配置網(wǎng)絡(luò)接口
hosts: servers
tasks:
- name: 設(shè)置靜態(tài)IP
community.general.nmcli:
type: ethernet
conn_name: "eth0-static"
ifname: eth0
ip4: 172.16.1.10/24
gw4: 172.16.1.1
dns4:
- 172.16.1.53
- 172.16.1.54
state: present
systemd-networkd配置
對于使用systemd-networkd的系統(tǒng),創(chuàng)建.network
文件實現(xiàn)自動化:
[Match]
Name=eth0
[Network]
Address=192.168.50.20/24
Gateway=192.168.50.1
DNS=192.168.50.100
配置驗證與監(jiān)控
執(zhí)行ip addr show
檢查接口狀態(tài),使用journalctl -u NetworkManager
查看服務(wù)日志??赏ㄟ^crontab
設(shè)置定時任務(wù)檢測網(wǎng)絡(luò)連通性并自動恢復(fù)。