core: 完善 slaac 下的 dns 配置

This commit is contained in:
bin456789
2023-10-28 21:46:38 +08:00
parent 87af5d63b5
commit 22779c1dcd
2 changed files with 131 additions and 79 deletions

View File

@ -13,33 +13,40 @@ rem set ipv6_dns2=::2
@echo off
setlocal EnableDelayedExpansion
:: 关闭随机地址防止ipv6地址和后台面板不一致
:: 禁用 IPv6 地址标识符的随机化,防止 IPv6 和后台面板不一致
netsh interface ipv6 set global randomizeidentifiers=disabled
if not defined mac_addr exit /b
for /f %%a in ('wmic nic where "MACAddress='%mac_addr%'" get InterfaceIndex ^| findstr [0-9]') do set id=%%a
if not defined id exit /b
:: 检查是否定义了 MAC 地址
if defined mac_addr (
for /f %%a in ('wmic nic where "MACAddress='%mac_addr%'" get InterfaceIndex ^| findstr [0-9]') do set id=%%a
if defined id (
:: 配置静态 IPv4 地址和网关
if defined ipv4_addr if defined ipv4_gateway (
:: gwmetric 默认值为 1自动跃点需设为 0
netsh interface ipv4 set address !id! static !ipv4_addr! gateway=!ipv4_gateway! gwmetric=0
)
if defined ipv4_addr if defined ipv4_gateway (
:: gwmetric 默认值为 1自动跃点需设为 0
netsh interface ipv4 set address %id% static %ipv4_addr% gateway=%ipv4_gateway% gwmetric=0
:: 配置静态 IPv4 DNS 服务器
for %%i in (1, 2) do (
if defined ipv4_dns%%i (
netsh interface ipv4 add dnsservers !id! !ipv4_dns%%i! %%i no
)
)
for %%i in (1, 2) do (
if defined ipv4_dns%%i (
netsh interface ipv4 add dnsservers %id% !ipv4_dns%%i! %%i no
)
)
)
if defined ipv6_addr if defined ipv6_gateway (
netsh interface ipv6 set address %id% %ipv6_addr%
netsh interface ipv6 add route prefix=::/0 %id% !ipv6_gateway!
for %%i in (1, 2) do (
if defined ipv6_dns%%i (
netsh interface ipv6 add dnsservers %id% !ipv6_dns%%i! %%i no
:: 配置 IPv6 地址和网关
if defined ipv6_addr if defined ipv6_gateway (
netsh interface ipv6 set address !id! !ipv6_addr!
netsh interface ipv6 add route prefix=::/0 !id! !ipv6_gateway!
)
:: 配置 IPv6 DNS 服务器
for %%i in (1, 2) do (
if defined ipv6_dns%%i (
netsh interface ipv6 add dnsservers !id! !ipv6_dns%%i! %%i no
)
)
)
)
:: 删除脚本文件
del "%~f0"