1)总结问题
我正在努力弄清楚如何设置 Ubuntu 22.04,以便它充当连接到它的多台 PC 的 LAN 路由器网关,并通过 VPN 从网络外部进入 LAN?
2)提供详细信息和任何研究
我已经通过 Google、YouTube 搜索过,也浏览过 Ubuntu 书籍中的几部分“网络”部分(例如《精通 Ubuntu 服务器 - 第四版》),并且尝试了各种在线建议来尝试找到解决方案,但到目前为止,我得到的只有这些:
3)适当的时候,描述一下你尝试过的方法
- 已安装 Ubuntu 服务器
- 编辑 netplan yaml 文件,为 NIC 分配静态 IP 地址
- 使用 IP 表配置 NAT
- 安装 DHCP 服务器
- 已安装 OpenVPN(当我尝试使用远程桌面时似乎不起作用)
- 安装了 Guacamole 远程桌面(似乎无法接收局域网中的 Windows PC)
我有 2 台连接到 Ubuntu 22.04 服务器的 Windows PC(一台是 Windows 10 Pro,另一台是 Windows 11 Pro),另外两台装有 Linux 发行版(Debian 和 Oracle Linux)的 PC,以及一台带有 dd-wrt 的 TP-Link 路由器用于 WiFi。
用例是我想要学习如何创建网络和系统管理员(我是个菜鸟,只真正玩过 Windows Server),但我仍然需要让 Windows PC 运行仅在 Windows 上运行的特定应用程序。我需要能够从互联网通过 VPN 进入 LAN,这样我就可以同时使用 Windows 11 Pro 和 Windows 10 Pro PC 进行远程桌面。到目前为止,我只有 SSH 可以在 Ubuntu Server 上运行,但我无法远程访问其他 Linux PC,所以也许我的 NAT 无法正常工作(我对此非常迷茫)。我想如果我能让 VPN 工作,我就可以 Telnet 进入 Linux PC。
我真的很想学习这些东西,所以虽然我很感激一个“做这个和那个”的答案,这样我就可以让事情正常运作,但任何学习资源建议都会非常感谢。
答案1
对于网络实验(很有趣!),请考虑设置一系列虚拟机(或 LXD 容器)。将它们全部联网,全部在您的服务器内,而无需接触您的真实 LAN。
建议:将一个虚拟机/容器专用为路由器/网关,而不是用这些包和设置弄乱您的基础系统。保持基础系统简洁,这样出错的可能性就会降低。当出现问题时,您希望它在与现实世界操作系统隔离的虚拟机/容器中出错。
建议:将现实世界的 LAN 网络服务整合到服务器中很有吸引力(我试过)。但这也增加了风险:服务器崩溃(或安装失败、升级中断、实验失败或以太网端口损坏)也会破坏整个网络,直到服务器修复为止。如果没有网络访问,修复服务器会困难得多!将现实世界的 LAN 放在单独的硬件上以确保可靠性和稳健性是值得的。