面试题答案
一键面试#!/bin/bash
# 静态IP配置文件路径
STATIC_CONFIG="/etc/netplan/00-installer-config.yaml"
# DHCP配置模板
DHCP_CONFIG_TEMPLATE="
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: true
"
# 静态IP配置模板
STATIC_CONFIG_TEMPLATE="
network:
version: 2
renderer: networkd
ethernets:
eth0:
addresses: [192.168.1.100/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
"
if [ "$1" == "static" ]; then
echo "$STATIC_CONFIG_TEMPLATE" | sudo tee "$STATIC_CONFIG"
echo "切换到静态IP配置"
elif [ "$1" == "dhcp" ]; then
echo "$DHCP_CONFIG_TEMPLATE" | sudo tee "$STATIC_CONFIG"
echo "切换到DHCP配置"
else
echo "请指定正确的参数,例如:$0 static 或者 $0 dhcp"
exit 1
fi
# 应用新的网络配置
sudo netplan apply
echo "网络配置已应用,网络应该正常工作"
说明:
- 上述脚本假设网络配置文件路径为
/etc/netplan/00-installer-config.yaml
,不同的Linux发行版可能路径不同,需根据实际情况调整。 - 静态IP配置中的IP地址、网关和DNS服务器等参数是示例,实际使用请替换为真实值。
- 脚本通过判断传入的第一个参数是
static
还是dhcp
来决定切换到哪种配置,并应用新的配置。