WSL2下CentOS7设置静态IP

一、创建批处理文件设置静态IP

创建一个批处理文件,比如:D:\CentOS\static_ip.bat,内容如下:

@echo off
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
wsl -d Ubuntu-20.04 -u root ip addr del $(ip addr show eth0 ^| grep 'inet\b' ^| awk '{print $2}' ^| head -n 1) dev eth0
wsl -d CentOS  -u root ip addr add 192.168.8.2/24 broadcast 192.168.8.255 dev eth0
wsl -d CentOS  -u root ip route add 0.0.0.0/0 via 192.168.8.1 dev eth0
powershell -c "Get-NetAdapter 'vEthernet (WSL)' | Get-NetIPAddress | Remove-NetIPAddress -Confirm:$False; New-NetIPAddress -IPAddress 192.168.8.1 -PrefixLength 24 -InterfaceAlias 'vEthernet (WSL)'; Get-NetNat | ? Name -Eq WSLNat | Remove-NetNat -Confirm:$False; New-NetNat -Name WSLNat -InternalIPInterfaceAddressPrefix 192.168.8.0/24;"
exit

这里的固定IP为192.168.8.2,网关为:192.168.8.1,然后在Ubuntu系统中编辑~/.bashrc,添加如下内容:

if [ `hostname -I` != 192.168.8.2 ]; then
     cmd.exe /c "E:\Ubuntu\ubuntu_static_ip.bat" 1>nul
fi

这样就可以在启动wsl2的时候自动设置IP地址为192.168.8.2了。

二、设置DNS

但是无法使用DNS上网,原因是/etc/resolv.conf中的nameserver不是192.168.8.1,文件是WSL自动生成的,如果想不自动生成,可以建立一个文件:/etc/wsl.conf,内容为:

[network]

generateResolvConf = false

则不会自动生成/run/resolvconf/resolv.conf。

由于原来的/etc/resolv.conf是一个软链接,需要删除它,重新创建一个文件。

sudo rm /etc/resolv.conf

然后新建一个/etc/resolv.conf,内容如下:

nameserver 192.168.8.1

即设定nameserver为我们指定的的网关。这样就可以正常上网了.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在WSL 2中设置静态IP,需要进行以下步骤: 1. 打开Windows Terminal或其他终端应用程序,并在其中启动WSL 2。 2. 运行以下命令以安装所需的软件包: ``` sudo apt update sudo apt install net-tools ``` 3. 通过运行以下命令,查找要配置静态IP的网络接口的名称: ``` ip link ``` 通常情况下,该接口的名称类似于“eth0”或“wsl0”。 4. 运行以下命令以编辑网络接口的配置文件: ``` sudo nano /etc/network/interfaces ``` 5. 在文件中添加以下行,替换为您要使用的IP地址、网关和DNS服务器的值: ``` auto <接口名称> iface <接口名称> inet static address <IP地址> netmask <子网掩码> gateway <网关地址> dns-nameservers <DNS服务器地址> ``` 例如,如果要将静态IP地址设置为“192.168.1.100”、“255.255.255.0”子网掩码、“192.168.1.1”网关和“8.8.8.8”DNS服务器,则应添加以下行: ``` auto eth0 iface eth0 inet static address 192.168.1.100 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 8.8.8.8 ``` 6. 保存文件并退出编辑器。 7. 运行以下命令以重启网络服务: ``` sudo service networking restart ``` 8. 确认静态IP地址是否已成功设置,可以通过运行以下命令来检查: ``` ip addr show <接口名称> ``` 例如,如果要检查名为“eth0”的接口,则应运行以下命令: ``` ip addr show eth0 ``` 如果一切正常,则应该看到接口已配置为使用静态IP地址。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值