我有一台在Windows 7上运行的Ubuntu虚拟机。如何设置让我可以通过SSH从外部访问web服务器?
我找到了步骤(在VirtualBox主机和客户机之间设置SSH访问),能够从我的主机ssh到我的客户机,但仍然存在通过我的路由器访问的问题。
我想我可以在我的Windows机器上安装一个SSH服务器,然后进行多次隧道(虽然我不确定要使用本地、动态等哪些选项,或者如何设置多个隧道?),但有没有办法使虚拟机直接可访问我的路由器,以便我可以直接端口转发到它上面?
我有一台在Windows 7上运行的Ubuntu虚拟机。如何设置让我可以通过SSH从外部访问web服务器?
我找到了步骤(在VirtualBox主机和客户机之间设置SSH访问),能够从我的主机ssh到我的客户机,但仍然存在通过我的路由器访问的问题。
我想我可以在我的Windows机器上安装一个SSH服务器,然后进行多次隧道(虽然我不确定要使用本地、动态等哪些选项,或者如何设置多个隧道?),但有没有办法使虚拟机直接可访问我的路由器,以便我可以直接端口转发到它上面?
Ubuntu 18.04 LTS
为了能够在不进行“端口转发”的情况下查看服务器IP并连接,需要进行桥接配置。
在VirtualBox中,右键单击服务器,选择“设置”->“网络”,启用第二个适配器,并选择“桥接”模式。在“混杂模式”中选择“允许全部”,检查已连接的电缆,然后启动服务器。
在Ubuntu服务器上,编辑sudo nano /etc/netplan/*init.yaml
文件。
示例文件:
network:
ethernets:
enp0s3:
addresses: []
dhcp4: true
enp0s8:
addresses: [192.168.0.200/24]
dhcp4: no
dhcp6: no
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
version: 2
有用的命令
nano /etc/netplan/file.yaml # file to specify the rules of network
reboot now # restart ubuntu server right now
netplan apply # do after edited *.yaml, to apply changes
ifconfig -a # show interfaces with ip, netmask, broadcast, etc...
ping google.com # to see if there is internet
对于我来说,将网络设置简单地设置为桥接就解决了问题。
这样做会改变您的IP地址。但是,在我的情况下,它并没有立即改变。 ifconfig
返回相同的IP地址。我重新启动了虚拟机,然后,IP地址设置为以192.*开头,并且我立即被允许使用ssh访问。
使用NAT网络适配器并添加端口转发。请提供实际主机IP,不要使用127.0.0.1或localhost。