use*_*814 3 virtualbox ip-forward
我有安装了 VirtualBox 的 Ubuntu 14.04 台式机。我制作了两台虚拟机,一台是 Ubuntu 服务器,另一台是 Lubuntu 客户端。默认设置允许我通过连接到主机的 3G 调制解调器从访客到 Internet 访问 Internet,因为访客默认使用 NAT,但我无法从客户端访问服务器。
我想把两个guest放在分开的网络中,让guest server通过NAT与另一个网络接口连接到Internet,并使guest client通过guest Server连接到Internet。
我做了以下事情:
我应该怎么做才能使来宾服务器访问 Internet,然后使来宾客户端也通过来宾服务器访问 Internet?
你在它的文档中有一个VirtualBox 网络模式列表。
您在两个系统上都需要的是内部网络。您必须为其命名,您可以在此模式下创建多个网络。VirtualBox 将连接同一内部网络中的所有来宾,因此两个虚拟机上的名称必须匹配。默认值应该是开箱即用的。
服务器需要一个具有相同名称的内部网络和另一个连接到世界的网络,在您的情况下是NAT。
现在来宾服务器应该能够通过NAT接口连接到 Internet 。
为了客户端和服务器相互访问,它们的接口必须配置在同一网络中。您可以手动执行(静态地址)或在服务器计算机中配置DHCP 服务器。
这些是手动执行的步骤:
root@server:~# ifconfig eth0 192.168.1.1 netmask 255.255.255.0
root@client:~# ifconfig eth0 192.168.1.5 netmask 255.255.255.0
Run Code Online (Sandbox Code Playgroud)
您可以设置您想要的任何 IP,但它们必须在同一网络中。这里,eth0在服务器机器指的是内部接口,如果你设置接口 1 为Internal和 2 为NAT,上述命令将正常工作。
现在你们应该可以ping互相访问了,但是来自客户端机器的数据包还不能通过服务器机器,只能到达服务器。
注意:这些更改将在下次重新启动时丢失,要使更改永久化,您必须编辑和配置 /etc/network/interfaces. 如果您从桌面使用 GUI 配置客户端,请跳过 CLI 配置。
您需要配置转发。你可以简单地做
root@server:~# echo 1 > /proc/sys/net/ipv4/ip_forward
Run Code Online (Sandbox Code Playgroud)
但这只会在您重新启动机器之前有效。您需要编辑/etc/sysctl.conf并取消注释#net.ipv4.ip_forward=1
,使其看起来像:
# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1
Run Code Online (Sandbox Code Playgroud)
这将配置服务器机器转发数据包(在下次重新启动时)。
这将配置服务器进行IP 伪装。
root@server:~# modprobe iptable_nat
root@server:~# iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
root@server:~# iptables -A FORWARD -i eth0 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)
注意eth0和eth1,这里的第 2 行必须是-o NAT_interface第 3 行-i Internal_interface。
此设置应该已经设置,无论是在 GUI 助手中还是通过编辑/etc/network/interfaces/. 以防万一它没有应用,通过服务器机器添加默认路由:
root@client:~# route add default gw 192.168.1.1
Run Code Online (Sandbox Code Playgroud)
现在您应该能够从客户端计算机进行通信,但是如果您手动配置 IP 地址,您仍然需要提供 DNS 服务器以便您可以解析名称。
编辑/etc/resolv.conf并添加您喜欢的服务器:
nameserver 4.2.2.1
nameserver 4.2.2.2
nameserver 8.8.8.8
nameserver 8.8.4.4
Run Code Online (Sandbox Code Playgroud)
如果您在服务器机器中配置了 DHCP,您应该已经告诉 DHCP 服务器要使用哪些 DNS 服务器(如果没有,现在就做)。
同样,如果您使用 GUI 助手配置客户端,只需确保 DNS 有效并跳过此部分。
| 归档时间: |
|
| 查看次数: |
4605 次 |
| 最近记录: |