1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > linux通过interfaces配置DHCP和静态IP 配置ubuntu的双网卡

linux通过interfaces配置DHCP和静态IP 配置ubuntu的双网卡

时间:2023-08-30 15:11:21

相关推荐

linux通过interfaces配置DHCP和静态IP 配置ubuntu的双网卡

前言

为什么不使用GUI界面配置呢?因为我的系统设置窗口又双叒叕被我玩没了。这次不想把它找回来了。

一 安装工具包

好在我的虚拟机默认就是配置dhcp的,要不然就得下载源码包了。

sudo apt install ifupdown

$ ifdown ens33ifdown: failed to open lockfile /run/network/ifstate.ens33: No such file or directory

报错:怎么解决?

需要管理员权限,要先up,然后再down,然后再up

$ sudo ifup ens33

$ sudo ifdown ens33

$ sudo ifup ens33

二 设置静态IP

ubuntu21中的/etc/network/interfaces默认是没有的,所以要创建

sudo touch/etc/network/interfaces

在/etc/network/创建文件interfaces

网卡名字默认是ens33

auto ens33#其中ens33是ubuntu默认的网卡名字

iface eth0 inet static

address x.x.x.x #x.x.x.x为设置的静态ip地址

netmask 255.255.255.0 #此处设置子网掩码

gateway x.x.x.x #此处设置网关

dns-nameservers 8.8.8.8 #此处设置dns服务器

按照说明修改配置,将下面的内容写入/etc/network/interfaces文件

auto ens33 iface ens33 inet staticaddress 192.168.0.16 netmask 255.255.255.0gateway 192.168.0.1 dns-nameservers 8.8.8.8

然后执行以下三步操作

$ sudo ifup ens33

$ sudo ifdown ens33

$ sudo ifup ens33

然后查看ip地址

ifconfig ens33

$ ifconfig ens33 ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 192.168.0.16 netmask 255.255.255.0 broadcast 192.168.0.255ether 00:0c:29:7e:f7:69 txqueuelen 1000 (以太网)RX packets 126276 bytes 59013705 (59.0 MB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 23467 bytes 3752407 (3.7 MB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

OK配置成功。

三 配置动态IP

要确认电脑连接到了虚拟或者实体dhcp服务器。首先,备份原来的interfaces文件

sudo cp interfaces interfaces_staic

按照说明修改配置,将下面的内容写入/etc/network/interfaces文件

auto ens33iface ens33 inet dhcp

然后执行以下三步操作

$ sudo ifup ens33

$ sudo ifdown ens33

$ sudo ifup ens33

然后查看ip地址

ifconfig ens33

$ ifconfig ens33ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 192.168.31.35 netmask 255.255.255.0 broadcast 192.168.31.255ether 00:0c:29:7e:f7:69 txqueuelen 1000 (以太网)RX packets 126311 bytes 59022760 (59.0 MB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 23534 bytes 3762148 (3.7 MB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

OK配置成功。

最后把这个文件也备份一下

$ sudo cp interfaces interfaces_dhcp

四 配置双网卡

首先要设置两个网卡,第二个网卡桥接到无线网卡,用于上网。

此时通过ifconfig命令,可以看到多了ens38

lkmao@ubuntu:~$ ifconfigens33Link encap:以太网 硬件地址 00:0c:29:8c:05:15inet 地址:192.168.0.11 广播:192.168.0.255 掩码:255.255.255.0inet6 地址: fe80::874:4760:1e43:8e9b/64 Scope:LinkUP BROADCAST RUNNING MULTICAST MTU:1500 跃点数:1接收数据包:172855 错误:0 丢弃:0 过载:0 帧数:0发送数据包:162303 错误:0 丢弃:0 过载:0 载波:0碰撞:0 发送队列长度:1000接收字节:112141747 (112.1 MB) 发送字节:6103 (61.2 MB)ens38Link encap:以太网 硬件地址 00:0c:29:8c:05:1fUP BROADCAST RUNNING MULTICAST MTU:1500 跃点数:1接收数据包:10 错误:0 丢弃:0 过载:0 帧数:0发送数据包:0 错误:0 丢弃:0 过载:0 载波:0碰撞:0 发送队列长度:1000接收字节:600 (600.0 B) 发送字节:0 (0.0 B)lo Link encap:本地环回inet 地址:127.0.0.1 掩码:255.0.0.0inet6 地址: ::1/128 Scope:HostUP LOOPBACK RUNNING MTU:65536 跃点数:1接收数据包:36520 错误:0 丢弃:0 过载:0 帧数:0发送数据包:36520 错误:0 丢弃:0 过载:0 载波:0碰撞:0 发送队列长度:1000接收字节:878963511 (878.9 MB) 发送字节:878963511 (878.9 MB)lkmao@ubuntu:~$

修改/etc/network/interfaces文件,使得ens38通过dhcp获取ip地址,修改后的文件如下所示:

从内容可知,ens33设置了静态ip地址192.168.0.11。ens38设置了自动获取IP地址。

# interfaces(5) file used by ifup(8) and ifdown(8)

auto ens33

iface ens33 inet static

address 192.168.0.11

netmask 255.255.255.0

gateway 192.168.0.1

dns-nameservers 8.8.8.8

auto ens38

iface ens38 inet dhcp

auto lo

iface lo inet loopback

执行命令ifup使配置生效。

sudo ifup ens38

lkmao@ubuntu:~$ sudo ifup ens38Internet Systems Consortium DHCP Client 4.3.3Copyright - Internet Systems Consortium.All rights reserved.For info, please visit /software/dhcp/Listening on LPF/ens38/00:0c:29:8c:05:1fSending on LPF/ens38/00:0c:29:8c:05:1fSending on Socket/fallbackDHCPDISCOVER on ens38 to 255.255.255.255 port 67 interval 3 (xid=0x1205ad66)DHCPREQUEST of 192.168.31.72 on ens38 to 255.255.255.255 port 67 (xid=0x66ad0512)DHCPOFFER of 192.168.31.72 from 192.168.31.1DHCPACK of 192.168.31.72 from 192.168.31.1bound to 192.168.31.72 -- renewal in 16735 seconds.lkmao@ubuntu:~$

通过ifconfig查看当前的IP地址

lkmao@ubuntu:~$ ifconfigens33Link encap:以太网 硬件地址 00:0c:29:8c:05:15inet 地址:192.168.0.11 广播:192.168.0.255 掩码:255.255.255.0inet6 地址: fe80::874:4760:1e43:8e9b/64 Scope:LinkUP BROADCAST RUNNING MULTICAST MTU:1500 跃点数:1接收数据包:173849 错误:0 丢弃:0 过载:0 帧数:0发送数据包:163844 错误:0 丢弃:0 过载:0 载波:0碰撞:0 发送队列长度:1000接收字节:112210420 (112.2 MB) 发送字节:61380986 (61.3 MB)ens38Link encap:以太网 硬件地址 00:0c:29:8c:05:1finet 地址:192.168.31.72 广播:192.168.31.255 掩码:255.255.255.0inet6 地址: fe80::20c:29ff:fe8c:51f/64 Scope:LinkUP BROADCAST RUNNING MULTICAST MTU:1500 跃点数:1接收数据包:22 错误:0 丢弃:0 过载:0 帧数:0发送数据包:35 错误:0 丢弃:0 过载:0 载波:0碰撞:0 发送队列长度:1000接收字节:7625 (7.6 KB) 发送字节:6937 (6.9 KB)lo Link encap:本地环回inet 地址:127.0.0.1 掩码:255.0.0.0inet6 地址: ::1/128 Scope:HostUP LOOPBACK RUNNING MTU:65536 跃点数:1接收数据包:36684 错误:0 丢弃:0 过载:0 帧数:0发送数据包:36684 错误:0 丢弃:0 过载:0 载波:0碰撞:0 发送队列长度:1000接收字节:878973515 (878.9 MB) 发送字节:878973515 (878.9 MB)lkmao@ubuntu:~$

配置成功了。

不过当前还不能上网。首先要将ens33断开,然后

sudo ifdown ens38

sudo ifupens38

这是可以上网了。

然后

从主机也可以ping通ens33.

重启以后也可以,(⊙o⊙)…,貌似哪里不对劲啊。他们应该是优先级的吧,linux怎么知道优先使用谁来访问互联网呢?

五(补充内容):解决上网问题的尝试

后来系统设置窗口,经过修修补补又弄好了,也忘记怎么弄的了。

这种方法,比较粗糙。缺乏理论支撑,以后要补齐理论支撑。

如下图所示:刚开始的时候,每次都要切换,后来无意中发现,只要先打开上网的ens38,然后再打开ens33,就可以又上网,又使用本地局域网链接。

那么,为什么以前没有发现这个做法呢?应该不是,应该是被什么东西干扰了。而这个方法也可能并非万能。而且,当时也觉得切换一下,总比重新配置省力,还要啥自行车呢。

虽然此时,能ping通百度了:也能ping本地网络,但是sudo apt install xxx,安装软件的时候会失败。这就没啥用了,咱虚拟机访问互联网主要就是为了安装软件的

lkmao@ubuntu:~$ ping PING www. (14.215.177.38) 56(84) bytes of data.64 bytes from 14.215.177.38: icmp_seq=12 ttl=55 time=15.2 ms

总结

不干不知道,世界真奇妙。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。