自学内容网 自学内容网

编写Linux系统rhel9的网络配置脚本

要求:

名称:vmset.sh

操作:vmset.sh 后加网卡名,ip 即可配置好网卡的IP

操作:

在/bin路径下编写脚本vmset.sh,可以直接执行,不用加其他路径

vim /bin/vmset.sh
#!/bin/bash

interface_name=$1
ip_address=$2

cat > /etc/NetworkManager/system-connections/${interface_name}.nmconnection <<EOF
[connection]
id=${interface_name}
type=ethernet
interface-name=${interface_name}

[ipv4]
address1=${ip_address}/24, 172.25.254.2
method=manual
dns=114.114.114.114

EOF

chmod 600 /etc/NetworkManager/system-connections/${interface_name}.nmconnection

nmcli connection reload

nmcli connection modify ${interface_name} ipv4.method manual ipv4.addresses ${ip_address}/24 ipv4.gateway 172.25.254.2 ipv4.dns 114.114.114.114

nmcli connection up ${interface_name}

nmcli device connect ${interface_name}

脚本开头参数获取

使用$1,$2将两个参数值传递给interface_name 和ip_address 

生成配置文件

cat > /etc/NetworkManager/system-connections/${interface_name}.nmconnection <<EOF
[connection]
id=${interface_name}
type=ethernet
interface-name=${interface_name}

[ipv4]
address1=${ip_address}/24, 172.25.254.2
method=manual
dns=114.114.114.114

EOF

使用 cat 命令结合输入重定向和<<EOF 和 EOF 之间的内容,生成一个 NetworkManager 管理网络连接的配置文件

配置文件的路径为 /etc/NetworkManager/system-connections/${interface_name}.nmconnection,文件名根据传入的网卡名称来命名(通过 ${interface_name} 变量替换),方便针对不同网卡进行单独配置管理。

[connection] 部分:

id=${interface_name}:设置连接的标识(id)为传入的网卡名称,便于识别和管理该网络连接。

type=ethernet:指明这是一个以太网类型的网络连接。

interface-name=${interface_name}:明确对应的网络接口名称

[ipv4] 部分:

address1=${ip_address}/24, 172.25.254.2:设置 IPv4 地址相关信息,设置 IP 地址以及子网掩码长度为 24 位,172.25.254.2 设定为网关地址。

method=manual:指定 IP 地址的配置方法为手动。

dns=114.114.114.114:设置 DNS 服务器地址为 114.114.114.114,用于域名解析服务。

设置配置文件权限

chmod 600 /etc/NetworkManager/system-connections/${interface_name}.nmconnection

文件所有者具有读写权限(读权限为 4 ,写权限为 2 ,相加得 6 ),而所属组和其他用户都没有任何权限

重新加载网络配置连接

nmcli connection reload

修改指定网卡连接的 IPv4 配置参数

nmcli connection modify ${interface_name} ipv4.method manual ipv4.addresses ${ip_address}/24 ipv4.gateway 172.25.254.2 ipv4.dns 114.114.114.114

再次使用 nmcli connection modify ,明确告诉 NetworkManager 修改指定网卡,连接对应的 IPv4 配置参数,确保配置准确、及时生效,覆盖可能存在的冲突配置,强制让网卡按照脚本期望的静态 IP、网关和 DNS 等设置进行配置。

激活指定网卡连接

nmcli connection up ${interface_name}

连接指定的网络设备

nmcli device connect ${interface_name}

确保网卡能够真正进入到正常连接并应用新配置的状态,解决可能存在的设备处于未连接状态等问题


原文地址:https://blog.csdn.net/weixin_73921499/article/details/144647990

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!