需求概述
有一台双网卡的电脑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电脑无需修改设置。
参考资料:
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两侧(在逻辑上)不是一个局域网。
---完---