如何修改ubuntu的ip并使用静态ip?(半科普
背景:最近在使用ubuntu,使用ssh连接的方式,ip一直变,很烦,就想到使用静态ip的方式
预先知识
热心网友的预先知识
(来源于博主荒野雄兵,链接 https://blog.csdn.net/daerzei/article/details/85058130)
Ubuntu里面有管理网络连接的方案:
方案1:/etc/network/interfaces
(命令行方案)
方案2:Network-manager
(图形化界面方案)两套方案是冲突的,不能同时共存。
第一个方案适用于命令行
如部署在云服务器上,如果你在阿里云,腾讯云,亚马逊云等等这些地方部署了Ubuntu的云服务器的话,就只能这种情况了。第二个方案适图形化界面
一般来说我们自己电脑上安装的Ubuntu都是采用这个方案,但是如果你在/etc/network/interfaces
里设置了网上信息的话,NetworkManager
就不会接管该网上,即使是你开了,系统重启过后也会自动关闭。所以嘛,好好想想你最近有没有修改过
/etc/network/interfaces
配置文件。如果你不知道自己有没有修改过的话,这个文件正常应该是这样的(看看有没有谁偷偷修改了你的配置文件)
我们已经知道有两种管理方案了,所以按理说有两种配置方案。
配置信息的来源去脉
需要的配置信息
地址(address)、子网掩码(netmask)、网关(gateway)、域名服务器地址(DNS)
配置信息详解
地址(address):ipv4地址,随便填,但是应该符合分配范围,可以从vmware的配置文件查看分配范围,如果懒得找,直接填原来的或者与原来的差不多且不冲突的
子网掩码(netmask):一般是255.255.255.0,否则要去配置文件找
网关(默认路由)(gateway) 与 DNS:1. 在进入GUI的网络设置前可以看到 2. vm配置文件有
查找配置信息
方法一:GUI
ubuntu桌面–>设置–>网络–>有线连接–>设置
此处可以找到ip、gateway、dns
方法二:vmware配置文件
macOS路径: /Library/Preferences/VMware Fusion
networking
文件是有关vmware网络的一些基础配置,如是否开启某个网卡的DHCP,此时不用管
因为我用的是NAT模式,所以进入 vmnet8
文件夹。
- 首先是
dhcpd.conf
文件
subnet 172.16.10.0 netmask 255.255.255.0 {
range 172.16.10.128 172.16.10.254;
option broadcast-address 172.16.10.255;
option domain-name-servers 172.16.10.2;
option domain-name localdomain;
default-lease-time 1800; # default is 30 minutes
max-lease-time 7200; # default is 2 hours
option netbios-name-servers 172.16.10.2;
option routers 172.16.10.2;
}
从中知道
ip
地址分配范围是172.16.10.128
到172.16.10.254
netmask
为255.255.255.0
DNS
为172.16.10.2
- 其次是
nat.conf
文件
# NAT gateway address
ip = 172.16.10.2
netmask = 255.255.255.0
从中知道
gateway
为172.16.10.2
netmask
为255.255.255.0
!开始修改!
方法一:GUI
在哪里改?
ubuntu桌面–>设置–>网络–>有线连接–>设置–>ipv4–>手动,修改以下配置项
改完后记得重启 sudo reboot
方法二:命令行
在哪里改?
进入 /etc/network/interfaces
,默认内容如下
auto lo
iface lo inet loopback
添加以下内容
auto ens33
iface ens33 inet static
address 172.16.10.135
netmask 255.255.255.0
gateway 172.16.10.2
dns-nameservers 172.16.10.2
注:
iface ens33 inet static:采用静态ip
其他内容根据预先知识填写就好
配置完记得重启 sudo reboot
Q&A
但此时直接重启会出现“有线未托管”情况,原因是ubuntu的网络管理方案出问题了。
此时需要修改 /etc/NetworkManager/NetworkManager.conf
[main]
plugins=ifupdown,keyfile
[ifupdown]
managed=false
[device]
wifi.scan-rand-mac-address=no
把 managed=false
改成 managed=true
后重启 network-manager
或重启ubuntu
sudo service network-manager restart
# 或
sudo reboot
尝试能否ping通百度与能否ssh连接到虚拟机
tips
之前ip一直变的时候ssh连接上去,都会保存密钥,会占用不需要的ip的密钥
在主机的 ~/.ssh/known_hosts
可以删除
附录
参考
- Ubuntu18.04连不网 报"有线连接未托管" https://blog.csdn.net/daerzei/article/details/85058130
- Ubuntu 18.04 lts 修改静态ip http://ivo-wang.github.io/2019/03/26/Ubuntu-18.04-lts-%E4%BF%AE%E6%94%B9%E9%9D%99%E6%80%81ip/
- ubuntu16.04配置网卡 https://blog.csdn.net/stay_zezo/article/details/80718369
- 虚拟机Ubuntu 18.04配置固定IP地址(ens33网卡,eth0也一样)ping百度 https://blog.csdn.net/wu10188/article/details/102985067