需求概述

有一台双网卡的电脑A(多于2个网卡的情况,解决方案雷同),2个网卡分别称为eth0和eth1。eth0可以访问Internet,eth1连接(网线直连)另一台电脑B(笔者的实际案例是一个嵌入式设备。还是为了叙述简便,假设是一个普通电脑,并且电脑B除了一个以太网口外没有其它上网手段)。

目标:使2台电脑都能访问Internet。

操作系统:ubuntu20和win10。

WIN10操作步骤

在电脑A上:

1、打开控制面板-网络-网络连接(更改适配器设置),右键eth0,点属性-共享,勾选第一个:

 点确定,如果有弹窗全点“是”。

2、使用ipconfig命令获取eth1的IP地址,将电脑B的IP地址设置到同一网段即可(也可设置成自动获取)

DNS、路由设置略。一般PC电脑无需修改设置。

参考资料:

https://jingyan.baidu.com/article/bea41d4341d58bf5c41be616.htmlicon-default.png?t=N7T8https://jingyan.baidu.com/article/bea41d4341d58bf5c41be616.html

UBUNTU操作步骤

在电脑A上:

1、打开 系统设置-网络-eth1-选项-IPv4,将模式改为共享。

 保存。然后回到 系统设置-网络,确认eth0和eth1都处于打开状态(ON)。

2、使用ifconfig命令获取eth1的IP地址,将电脑B的IP地址设置到同一网段即可(也可设置成自动获取)

DNS、路由设置略。一般PC电脑无需修改设置。

更复杂的情况

本章的操作可以让eth1使用特定的IP地址,应对更复杂的情况(例如没有权限修改电脑B的IP地址,或电脑A和B通过交换机相连)。

如果电脑A是windows,直接在GUI上修改即可,不再赘述。ubuntu20设置共享后无法在GUI上修改IP,需要使用命令。

1、首先获取eth1的UUID

nmcli connection show

输出类似下图:

 2、修改IP地址

nmcli connection modify $UUID +ipv4.addresses 192.168.5.1/24

其中$UUID是上一步获取的UUID(ed16...),192.168.5.1/24是需要使用的IP地址和子网掩码。

3、打开 系统设置-网络,重启eth1。

参考资料:networking - Configure connection sharing with specific IP Address - Ask Ubuntu

与网桥的异同

Internet连接共享 和 网桥(桥接) 的相同点:都能实现2台电脑用一个网口上网。

不同点:2个网卡桥接后失去其原有的IP地址,只剩一个网桥的IP地址,电脑A两侧(在逻辑上)属于一个局域网;Internet连接共享不影响eth0的IP,并为eth1分配一个IP,电脑A两侧(在逻辑上)不是一个局域网。

---完---

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐