ubuntu配置静态ip地址
在某些场景下,我们可能需要将一台电脑的IP地址设置成静态的。例如在局域网内部署一个服务器,我们可能不希望他通过DHCP获取动态地址,而造成无法访问。设置静态IP在window系统下比较容易,但在Linux系统下稍微麻烦一点。Ubuntu 18.04系统下设置静态IP的步骤。
1:先ifconfig查看电脑的网卡信息,找到物理网卡的名称,我这里是enp3s0,其他几个是虚拟网卡和本地回环,不用管。
2:输入route-n命令,打印路由表,这里主要是为了查看网关地址,后续会用到,我这里网关地址是192.168.101.1
3:输入sudo vim/etc/netplan/00-installer-config.yaml,编辑yaml文件,注意这里需要sudo权限。
根据实际需要依次设置enp3s0网卡的静态IP地址、网关、DNS,dhcp4设置为false,最后一行添加:renderer:networkd。注意缩进对齐,并且每个冒号后面要跟一个空格,否则会有问题。设置好后保存退出。
4:输入命令netplan apply使改动生效,然后reboot重启系统,就配置好了。
Debian、ContOS、Ubuntu系统手动配置网卡获取IP方式
1 . 打开文件
vim /etc/network/interfaces
2 . 修改
dhcp自动获取
修改为:
配置静态IP
3 . 重启网络服务
/etc/init.d/networking restart
1 . 打开
vi /etc/sysconfig/network-scripts/ifcfg-eth0(eth0为网卡设备别名)
2 . 修改
DHCP方式获取
ONBOOT = yes 指系统启动时激活此设备 BOOTPROTO=dhcp 指获取ip方式为dhcp
静态配置
修改
BOOTPROTO=static
换行添加
3 . 重启网络服务
service network restart
1 . 打开
vim etc/network/interfaces
2 . 添加网卡配置(静态获取IP和DHCP获取IP选一个配置即可)
静态获取IP
DHCP获取IP
3 . 重启网络设备
sudo /etc/init.d/networking restart
(设置与12.04相同,但还需要再修改一个文件)
1 . 修改managed参数
/etc/NetworkManager/NetworkManager.conf # 将参数 managed 设置为 true
2 . 按照12.04 修改配置
1 . 打开
vim /etc/network/inrerfaces
2 . 增加
静态获取IP
提示(ubuntu 16 之后的网卡名字不再是eth0之类命名,根据本机器ifconfig查看到的为准)
DHCP获取IP
3 . 修改managed 参数
vim /etc/NetworkManager/NetworkManager.conf # 打开将参数 managed 设置为 true
4 . 设置DNS
验证
resolvconf -u
提示( 因为机器在重启后,真正读取dns 的配置是在 /etc/resolv.conf,但是 /etc/resolv.conf 的数据来源于 /etc/resolvconf/resolv.conf.d/base)
5 . 重启网络服务
/etc/init.d/networking restart
1 . 打开
/etc/netplan/01-network-manager-all.yaml
2 . 修改为
3 . 执行命令,使配置文件生效
netplan apply
查看Ubuntu20.04版系统公有私有IP地址和配置IP
在终端命令里,如何才能查看当前电脑的IP地址呢?如果是Linux系统老用户,可能很多人会想到那个老命令ifconfig,不过现在新版本已经被丢弃不用了。现在在Ubuntu操作系统里,往往要用ip命令就行。终端输入ip addr就可以查看。
命令输出一堆,我们只要找到那个有link/ether下面两行分别带有inet和inet6字样后面的就是IP地址,其他的不用管。如果你觉得这样的终端命令显示的也太麻烦了,还可以用终端命令hostname
-I来显示精简的信息。除了IP别无所有。图形界面看IP就更简单了,在Ubuntu20.04系统中,看右上角,找有线网络的图标就是了。
当然,用上述命令查看的电脑IP,属于私有IP,也就是诸如192.168.1.XX这样的。而我们要访问外部的网络,用的是公有IP。那么如何查到自己的公有IP呢,这就要用另一个终端命令curl
ifconfig.me了。不过有时候,如果你终端输入这个命令执行,会发现curl没有安装。所以先按Ubuntu提示安装curl就行。当然,这只是一个方法而已。实际上,我们要看我们的IP,随便百度一下搜索引擎其实就能查到。
关于配置IP的问题,看网上普遍的做法(非Ubuntu20.04系统里)。其配置文件在/etc/network/interfaces中。网上教程都是修改这个文件。终端下用命令就行了。而这个配置文件的内容则如下所示:
auto eth0 #设置自动启动eth0接口
iface eth0 inet static #配置静态IP
address 192.168.1.22 #配置没有被使用的ip
netmask 255.255.255.0 #子网掩码
gateway 192.168.1.252 #默认网关地址
dns-nameservers 1.1.1.1 #写dns解析地址
然后修改DNS,用命令sudo gedit
/etc/resolve.conf执行,添加nameserver 8.8.8.8 #当地dns服务器(用ipconfig /all
查看本地dns,第一个dns是默认的,共有2个dns)。配置好之后可以通过sudo /etc/init.d/networking
restart命令重启服务。这个很常用,而且在开源电子平台用树莓派做开发的时候几乎每次都会遇到。我们记住就行了。
而在机智客安装的Ubuntu20.04系统电脑里,有点不一样。或者说,官方已经在Ubuntu20.04版本里调整了如何配置网络的途径。在这里我们需要修改/etc/netplan下面01-network-manager-all.yaml文件。这个netplan文件夹就一个文件,文件名略有不同。这个文件默认只有短短三行。而我们要在文件尾部后面添加如下内容。
ethernets:
ens33: #配置的网卡名
dhcp4:no #dhcp4关闭
dhcp6:no #dhcp6关闭
addresses:[192.168.147.121/24] #设置本机IP
gateway4: 192.168.147.1 #网关
nameservers:
addresses:[192.168.147.1,114,114,114,114] #设置DNS