我一直在尝试使用运行 Ubuntu 16.04 LTS 的 Linux VM 作为我也想要远程访问的办公室网络的网关计算机来设置 Hamachi 网关网络。现在,我已经创建了网络、VM,并在 Windows 笔记本电脑上安装了 Hamachi 作为客户端来访问远程网络。但是,一旦我从 Hamachi 网页将 Linux 机器配置为网络网关,我的 VM 就会失去与外部网络的所有连接(我仍然可以从办公室网络 ping 和 SSH 进入它,但它看不到办公室网络或互联网上的其他计算机)。为了提供更多详细信息。我写下了我遵循的分步说明,以设置所有内容以及我看到的输出:
设置虚拟机
- 使用 VirtualBox 和最新的 Ubuntu 16.04 LTS 服务器映像创建
- 网络设置为桥接模式,混杂模式设置为“全部允许”
- 配置静态 IP 地址 10.0.0.5/8、默认网关 10.0.0.1 以及 DNS 服务器 10.0.0.1 和 1.1.1.1
- 已安装 SSH 服务器(以下所有设置均通过 PuTTY SSH 终端完成)
设置虚拟机后,我确认可以访问互联网和办公室局域网上的所有私有 IP 地址。
Hamachi 帐户设置
- 在帐户 (OfficeLAN) 下创建的网关网络
- 1 个 Windows 客户端已加入网关网络
- 配置了密码的网络和加入请求必须获得批准
在 Linux VM 上安装和配置 Hamachi 的步骤
安装 Hamachi 软件包
sudo dpkg -i logmein-hamachi_2.1.0.203-1_amd64.deb sudo hamachi login sudo hamachi attach [email protected]
前往网站并批准帐户激活(帐户页面 > 我的网络 > 查找显示“您有 1 个待处理的加入请求”的链接)
将客户端连接到 Hamachi 网络
sudo hamachi do-join 441-xxx-xxx
(为保护隐私省略了网络号码)然后进入帐户页面 > 我的网络 > OfficeLAN(编辑) > 加入请求 > 批准 VPN 访问网络
从“我的网络”页面,转到“编辑”(针对网络)>“添加/删除计算机”,然后选择 vpn 作为网关计算机。保存设置。
注意到 VPN 计算机无法再 ping 通 LAN 上的任何客户端,并且从我的 Windows Hamachi 客户端显示为离线
再次,按照上述步骤操作后。我可以 ping 虚拟机并通过 SSH 进入虚拟机,但无法 ping OfficeLAN 或 Internet 上的任何计算机。因此,我输入以下命令来检查 Hamachi 状态:
sudo Hamachi
并得到以下内容:
pid : 21940
status : logged in
client id : 253-xxx-xxx (omitted)
address : 25.44.180.28 2620:9b::192c:b41c
nickname : vpn
lmi account: [email protected]
输入命令:
sudo Hamachi list
给出以下内容:
* [441-xxx-xxx]OfficeLAN capacity: 2/5, [10.0.0.5/8] subscription type: Free, owner: [email protected]
* 253-xxx-xxx MY-WINDOWS-LAPTOP alias: not set via server TCP
因此,看起来它至少在网络中断之前与 Hamachi 帐户进行了通信,但我无法通过它作为网关访问网络。这里我还遗漏了什么吗?以下是 ifconfig 命令的更新输出:
enp0s3 Link encap:Ethernet HWaddr 08:00:27:c0:54:92
inet6 addr: fe80::a00:27ff:fec0:5492/64 Scope:Link
inet6 addr: fd5b:3582:fdc:0:a00:27ff:fec0:5492/64 Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1856182 errors:0 dropped:0 overruns:0 frame:0
TX packets:16728 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1736840175 (1.7 GB) TX bytes:1188377 (1.1 MB)
ham0 Link encap:Ethernet HWaddr 7a:79:00:00:00:00
inet addr:25.44.180.28 Bcast:25.255.255.255 Mask:255.0.0.0
inet6 addr: 2620:9b::192c:b41c/96 Scope:Global
inet6 addr: fe80::7879:ff:fe00:0/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1404 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:20 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:1324 (1.3 KB)
ham1 Link encap:Ethernet HWaddr 00:23:c3:2c:b4:1c
inet6 addr: fe80::223:c3ff:fe2c:b41c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1404 Metric:1
RX packets:52 errors:0 dropped:0 overruns:0 frame:0
TX packets:3630 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3120 (3.1 KB) TX bytes:1085628 (1.0 MB)
ham-br0 Link encap:Ethernet HWaddr 00:23:c3:2c:b4:1c
inet addr:10.0.0.5 Bcast:10.255.255.255 Mask:255.0.0.0
inet6 addr: fe80::a00:27ff:fec0:5492/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1404 Metric:1
RX packets:3677 errors:0 dropped:0 overruns:0 frame:0
TX packets:684 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1083089 (1.0 MB) TX bytes:77338 (77.3 KB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:237 errors:0 dropped:0 overruns:0 frame:0
TX packets:237 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:22492 (22.4 KB) TX bytes:22492 (22.4 KB)
另外,这是 IP 路由表的打印输出(通过执行 netstat -rn)
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 10.0.0.1 0.0.0.0 UG 0 0 0 ham-br0
10.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 ham-br0
25.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 ham0
最后,这是运行该命令的输出ip route
:
10.0.0.0/8 dev ham-br0 proto kernel scope link src 10.0.0.5
25.0.0.0/8 dev ham0 proto kernel scope link src 25.44.180.28
对 Windows Hamachi 客户端执行 Ping 操作也失败了。我不确定上面的输出到底是什么意思,但如果能得到帮助我将不胜感激。过去几天我一直为此烦恼不已,但至今没有解决办法。