本文目录导读:

我来帮你写一个自动配置网络参数的脚本,由于不同操作系统(Windows/Linux/Mac)的命令差异很大,我分别提供几个版本:
Windows 版本 (Batch/PowerShell)
Batch 脚本 (net_config.bat)
@echo off
chcp 65001 >nul网络参数自动配置工具
echo ========================================
echo 网络参数自动配置脚本
echo ========================================
:menu
echo.
echo 请选择操作:
echo 1. 配置静态IP
echo 2. 配置DHCP自动获取
echo 3. 查看当前网络配置
echo 4. 设置DNS
echo 5. 退出
echo.
set /p choice="请输入选项 (1-5): "
if "%choice%"=="1" goto static_ip
if "%choice%"=="2" goto dhcp
if "%choice%"=="3" goto view
if "%choice%"=="4" goto dns
if "%choice%"=="5" exit
goto menu
:static_ip
echo.
echo 当前可用的网络适配器:
netsh interface ip show interfaces
echo.
set /p nic="请输入网络适配器名称 (如: 以太网): "
set /p ip="请输入IP地址 (如: 192.168.1.100): "
set /p mask="请输入子网掩码 (如: 255.255.255.0): "
set /p gateway="请输入默认网关 (如: 192.168.1.1): "
echo.
echo 正在配置静态IP...
echo 适配器: %nic%
echo IP: %ip%
echo 掩码: %mask%
echo 网关: %gateway%
netsh interface ip set address "%nic%" static %ip% %mask% %gateway% 1
if %errorlevel% equ 0 (
echo ✓ 配置成功!
) else (
echo ✗ 配置失败!请检查参数
)
pause
goto menu
:dhcp
echo.
set /p nic="请输入网络适配器名称 (如: 以太网): "
echo 正在配置DHCP自动获取...
netsh interface ip set address "%nic%" dhcp
netsh interface ip set dns "%nic%" dhcp
if %errorlevel% equ 0 (
echo ✓ DHCP配置成功!
) else (
echo ✗ 配置失败!
)
pause
goto menu
:view
echo.
echo 当前网络配置:
ipconfig /all
pause
goto menu
:dns
echo.
set /p nic="请输入网络适配器名称 (如: 以太网): "
echo 常用DNS服务器:
echo 1. 阿里巴巴: 223.5.5.5
echo 2. 114DNS: 114.114.114.114
echo 3. 谷歌: 8.8.8.8
echo 4. 自定义
echo.
set /p dns_choice="请选择DNS (1-4): "
if "%dns_choice%"=="1" set dns=223.5.5.5
if "%dns_choice%"=="2" set dns=114.114.114.114
if "%dns_choice%"=="3" set dns=8.8.8.8
if "%dns_choice%"=="4" (
set /p dns="请输入DNS地址: "
)
netsh interface ip set dns "%nic%" static %dns%
if %errorlevel% equ 0 (
echo ✓ DNS配置成功!当前DNS: %dns%
) else (
echo ✗ 配置失败!
)
pause
goto menu
PowerShell 脚本 (net_config.ps1)
# 网络配置脚本 - PowerShell版本
Write-Host "网络参数自动配置工具" -ForegroundColor Cyan
function Show-Menu {
Write-Host "`n请选择操作:" -ForegroundColor Yellow
Write-Host "1. 配置静态IP"
Write-Host "2. 配置DHCP"
Write-Host "3. 查看网络配置"
Write-Host "4. 配置DNS"
Write-Host "5. 退出"
}
function Get-NetAdapterName {
Get-NetAdapter | Where-Object {$_.Status -eq "Up"} | Select-Object Name, InterfaceDescription
}
do {
Show-Menu
$choice = Read-Host "请输入选项"
switch ($choice) {
"1" {
Write-Host "`n当前可用的网络适配器:" -ForegroundColor Green
Get-NetAdapterName | Format-Table -AutoSize
$nic = Read-Host "请输入适配器名称"
$ip = Read-Host "请输入IP地址"
$prefix = Read-Host "请输入子网前缀长度 (例如24)"
$gateway = Read-Host "请输入默认网关"
try {
New-NetIPAddress -InterfaceAlias $nic -IPAddress $ip -PrefixLength $prefix -DefaultGateway $gateway
Write-Host "静态IP配置成功!" -ForegroundColor Green
} catch {
Write-Host "配置失败: $_" -ForegroundColor Red
}
}
"2" {
Write-Host "`n当前可用的网络适配器:" -ForegroundColor Green
Get-NetAdapterName | Format-Table -AutoSize
$nic = Read-Host "请输入适配器名称"
try {
Set-NetIPInterface -InterfaceAlias $nic -Dhcp Enabled
Set-DnsClientServerAddress -InterfaceAlias $nic -ResetServerAddresses
Write-Host "DHCP配置成功!" -ForegroundColor Green
} catch {
Write-Host "配置失败: $_" -ForegroundColor Red
}
}
"3" {
Write-Host "`n当前网络配置:" -ForegroundColor Yellow
Get-NetIPConfiguration | Format-List
Read-Host "按回车继续"
}
"4" {
Write-Host "`n当前可用的网络适配器:" -ForegroundColor Green
Get-NetAdapterName | Format-Table -AutoSize
$nic = Read-Host "请输入适配器名称"
Write-Host "`n常用DNS:" -ForegroundColor Yellow
Write-Host "1. 阿里巴巴: 223.5.5.5, 223.6.6.6"
Write-Host "2. 114DNS: 114.114.114.114"
Write-Host "3. 谷歌: 8.8.8.8, 8.8.4.4"
Write-Host "4. 自定义"
$dnsChoice = Read-Host "请选择"
switch ($dnsChoice) {
"1" { $dnsServers = "223.5.5.5", "223.6.6.6" }
"2" { $dnsServers = "114.114.114.114" }
"3" { $dnsServers = "8.8.8.8", "8.8.4.4" }
"4" {
$dns1 = Read-Host "请输入首选DNS"
$dns2 = Read-Host "请输入备用DNS (可选)"
$dnsServers = @($dns1)
if ($dns2) { $dnsServers += $dns2 }
}
}
try {
Set-DnsClientServerAddress -InterfaceAlias $nic -ServerAddresses $dnsServers
Write-Host "DNS配置成功!" -ForegroundColor Green
} catch {
Write-Host "配置失败: $_" -ForegroundColor Red
}
}
"5" { break }
}
} while ($choice -ne "5")
Linux 版本 (Bash)
#!/bin/bash
# 颜色定义
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color
show_menu() {
echo -e "${YELLOW}========================================${NC}"
echo -e "${BLUE} 网络参数自动配置脚本${NC}"
echo -e "${YELLOW}========================================${NC}"
echo "1. 配置静态IP (netplan)"
echo "2. 配置静态IP (ifconfig)"
echo "3. 配置DHCP"
echo "4. 查看当前网络配置"
echo "5. 配置DNS"
echo "6. 重启网络"
echo "7. 退出"
echo -e "${YELLOW}========================================${NC}"
}
configure_static_netplan() {
echo "当前网络接口:"
ip link show | grep -v lo | grep -E "^[0-9]" | awk '{print $2}' | sed 's/://'
read -p "请输入网卡名称 (如 eth0): " interface
read -p "请输入IP地址 (如 192.168.1.100): " ip
read -p "请输入子网掩码 (如 255.255.255.0): " mask
read -p "请输入网关 (如 192.168.1.1): " gateway
# 计算CIDR表示法
cidr_prefix=$(echo $mask | awk -F. '{
split($0, octets);
for(i=1; i<=4; i++) {
octet = octets[i] + 0
while(octet > 0) {
prefix += octet % 2
octet = int(octet / 2)
}
}
print prefix
}')
# 创建netplan配置文件
sudo tee /etc/netplan/01-netcfg.yaml > /dev/null << EOF
network:
version: 2
renderer: networkd
ethernets:
$interface:
dhcp4: no
addresses:
- $ip/$cidr_prefix
gateway4: $gateway
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
EOF
sudo netplan apply
echo -e "${GREEN}✓ 网络配置已应用${NC}"
}
configure_static_ifconfig() {
echo "当前网络接口:"
ifconfig -a | grep -E "^[a-z]" | awk '{print $1}'
read -p "请输入网卡名称: " interface
read -p "请输入IP地址: " ip
read -p "请输入子网掩码: " mask
read -p "请输入网关: " gateway
# 临时配置(重启失效)
sudo ifconfig $interface $ip netmask $mask up
sudo route add default gw $gateway $interface
echo -e "${GREEN}✓ 临时配置已应用(重启后失效)${NC}"
}
configure_dhcp() {
echo "当前网络接口:"
ip link show | grep -v lo | grep -E "^[0-9]" | awk '{print $2}' | sed 's/://'
read -p "请输入网卡名称: " interface
# DHCP配置
sudo dhclient $interface
echo -e "${GREEN}✓ DHCP配置完成${NC}"
}
view_config() {
echo "IP地址信息:"
ip addr show | grep -E "inet "
echo ""
echo "路由表:"
ip route show
echo ""
echo "DNS配置:"
cat /etc/resolv.conf 2>/dev/null || echo "无法读取resolv.conf"
}
configure_dns() {
echo "当前DNS服务器:"
cat /etc/resolv.conf 2>/dev/null | grep nameserver
echo -e "${YELLOW}选择DNS服务器:${NC}"
echo "1. 阿里巴巴: 223.5.5.5"
echo "2. 114DNS: 114.114.114.114"
echo "3. 谷歌: 8.8.8.8"
echo "4. 自定义"
read -p "请选择: " dns_choice
case $dns_choice in
1) dns="223.5.5.5" ;;
2) dns="114.114.114.114" ;;
3) dns="8.8.8.8" ;;
4) read -p "请输入DNS地址: " dns ;;
*) echo -e "${RED}无效选项${NC}"; return ;;
esac
# 临时修改DNS
echo "nameserver $dns" | sudo tee /etc/resolv.conf
echo -e "${GREEN}✓ DNS已设为: $dns${NC}"
}
restart_network() {
echo "重启网络服务..."
sudo systemctl restart networking 2>/dev/null || sudo service networking restart
echo -e "${GREEN}✓ 网络服务已重启${NC}"
}
# 主程序循环
while true; do
show_menu
read -p "请选择操作: " choice
case $choice in
1) configure_static_netplan ;;
2) configure_static_ifconfig ;;
3) configure_dhcp ;;
4) view_config ;;
5) configure_dns ;;
6) restart_network ;;
7) echo -e "${GREEN}再见!${NC}"; exit 0 ;;
*) echo -e "${RED}无效选项,请重试${NC}" ;;
esac
echo ""
read -p "按回车继续..."
done
使用说明
Windows:
- Batch脚本: 以管理员身份运行
net_config.bat - PowerShell脚本:
# 先执行(一次即可) Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser # 然后运行 .\net_config.ps1
Linux:
# 赋予执行权限 chmod +x net_config.sh # 运行(可能需要sudo) sudo ./net_config.sh
安全注意事项
⚠️ 重要提示:
- 这些脚本需要管理员/root权限才能修改网络设置
- 远程连接时请谨慎使用,错误的配置可能导致断开连接
- 建议先在测试环境验证
- 生产环境建议使用配置管理工具(如Ansible)
如果需要更具体的功能(如:批量配置多台设备、从配置文件读取参数等),请告诉我具体需求!
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播