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

前言

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

一 安装工具包

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

sudo apt install ifupdown
$ ifdown ens33
ifdown: 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 static
address 192.168.0.16            
netmask 255.255.255.0		
gateway 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 1500
        inet 192.168.0.16  netmask 255.255.255.0  broadcast 192.168.0.255
        ether 00:0c:29:7e:f7:69  txqueuelen 1000  (以太网)
        RX packets 126276  bytes 59013705 (59.0 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX 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 ens33
iface ens33 inet dhcp

然后执行以下三步操作

$ sudo ifup ens33
$ sudo ifdown ens33
$ sudo ifup ens33

然后查看ip地址

ifconfig ens33 
$ ifconfig ens33
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.31.35  netmask 255.255.255.0  broadcast 192.168.31.255
        ether 00:0c:29:7e:f7:69  txqueuelen 1000  (以太网)
        RX packets 126311  bytes 59022760 (59.0 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX 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:~$ ifconfig
ens33     Link encap:以太网  硬件地址 00:0c:29:8c:05:15
          inet 地址:192.168.0.11  广播:192.168.0.255  掩码:255.255.255.0
          inet6 地址: fe80::874:4760:1e43:8e9b/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  跃点数:1
          接收数据包:172855 错误:0 丢弃:0 过载:0 帧数:0
          发送数据包:162303 错误:0 丢弃:0 过载:0 载波:0
          碰撞:0 发送队列长度:1000
          接收字节:112141747 (112.1 MB)  发送字节:61201703 (61.2 MB)

ens38     Link encap:以太网  硬件地址 00:0c:29:8c:05:1f
          UP 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.0
          inet6 地址: ::1/128 Scope:Host
          UP 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 ens38
Internet Systems Consortium DHCP Client 4.3.3
Copyright 2004-2015 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/ens38/00:0c:29:8c:05:1f
Sending on   LPF/ens38/00:0c:29:8c:05:1f
Sending on   Socket/fallback
DHCPDISCOVER 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.1
DHCPACK of 192.168.31.72 from 192.168.31.1
bound to 192.168.31.72 -- renewal in 16735 seconds.
lkmao@ubuntu:~$ 

通过ifconfig查看当前的IP地址

lkmao@ubuntu:~$ ifconfig
ens33     Link encap:以太网  硬件地址 00:0c:29:8c:05:15
          inet 地址:192.168.0.11  广播:192.168.0.255  掩码:255.255.255.0
          inet6 地址: fe80::874:4760:1e43:8e9b/64 Scope:Link
          UP 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)

ens38     Link encap:以太网  硬件地址 00:0c:29:8c:05:1f
          inet 地址:192.168.31.72  广播:192.168.31.255  掩码:255.255.255.0
          inet6 地址: fe80::20c:29ff:fe8c:51f/64 Scope:Link
          UP 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.0
          inet6 地址: ::1/128 Scope:Host
          UP 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 ifup ens38

这是可以上网了。

 然后

 从主机也可以ping通ens33.

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

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

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

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

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

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

 

 

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

lkmao@ubuntu:~$ ping www.baidu.com
PING www.a.shifen.com (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

总结

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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

千册

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值