- 网络服务
- 开启Network服务
说明:此脚本用于关闭NetworkManger服务,重启network防止服务冲突导致IP配置无法生效
#!/bin/bash
status=$(systemctl status NetworkManager | grep 'active' | awk '{print $2}') #检查NetworkManager服务状态
if [ "$status" = "active" ]; #检查状态是否为active
then
systemctl stop NetworkManager #停止服务
if [ $? -eq 0 ];
then
echo "succeed to stop NetworkManager"
fi
systemctl restart network #重启network服务
if [ $? -eq 0 ]; #判断是否重启成功
then
echo "succeed to restart network service"
else
echo "Failed to restart network service"
fi
else
systemctl restart network
if [ $? -eq 0 ];then
echo "succeed to restart network service"
else
echo "Failed to restart network service"
fi
fi
#!/bin/bash
echo -e "\033[32m##此脚本用于配置网卡IP...##\033[0m"
echo " "
echo "TYPE=Ethernet" >> "$config" #将TYPE=Ethernet 追加到配置文件中,表明网卡类型为以太网
sed -i "/DNS1/ d" "$config" #删除包含DNS1的行
}
network_config() { #该函数用于配置网卡的 IP 地址和子网掩码
echo "IPADDR=$eth_ip" >> "$config" #将用户输入的IP地址追加到配置文件中
echo "NETMASK=$eth_mask" >> "$config" #将用户输入的子网掩码追加到配置文件中
function_GateWay_DNS #调用DNS函数让用户选择是否配置网关
}
read -p "请输入网关IP:" GateWay #让用户输入网关IP
echo "GATEWAY=$GateWay" >> "$config" #将用户输入的网关IP追加到配置文件中
function_GateWay_DNS
elif [ $num -eq 2 ]; then
read -p "请输入DNS地址:" DNS #提示用户输入 DNS 地址
echo "DNS1=$DNS" >> "$config" #将DNS信息追加到配置文件中
function_GateWay_DNS
fi
}
function_network() { #该函数用于重启网络服务
systemctl restart network
[ $? -ne 0 ] && echo "Failed to restart network service." && exit 1 || echo "Success to restart network service."
}
function_NetworkerManager() { #该函数用于检查NetworkManager 服务的状态,并根据状态进行相应的操作
status=$(systemctl status NetworkManager | grep 'Active:' | awk '{print $3}' | tr -d '()')
if [ "$status" != "dead" ]; then #测试 NetworkManager 服务是否处于活动状态
echo "NetworkManager未关闭,正在尝试关闭并重启network..."
systemctl stop NetworkManager
[ $? -ne 0 ] && echo -e "\033[31mFailed to stop NetworkManager.\033[0m" && exit 1 || {
function_network
echo -e "\033[32mNetworkManager关闭成功,network重启成功.\033[0m" #告知用户 NetworkManager 服务关闭成功,网络服务重启成功。
}
else
echo -e "\033[32mNetworkManager已经关闭,正在尝试重启network...\033[0m"
function_network
fi
}
configfile_check
eth_check
network_config
function_NetworkerManager