两个子网如何连接?
Vbox1子网ifconfig:
eth0 Link encap:Ethernet HWaddr 08:00:27:f1:68:9e
inet addr:192.168.1.65 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fef1:689e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:207703 errors:0 dropped:0 overruns:0 frame:0
TX packets:41701 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:45480669 (45.4 MB) TX bytes:4855362 (4.8 MB)
eth1 Link encap:Ethernet HWaddr 08:00:27:79:02:34
inet addr:10.0.3.15 Bcast:10.0.3.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe79:234/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:913 errors:0 dropped:0 overruns:0 frame:0
TX packets:1335 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:129887 (129.8 KB) TX bytes:150700 (150.7 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:15106 errors:0 dropped:0 overruns:0 frame:0
TX packets:15106 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:949613 (949.6 KB) TX bytes:949613 (949.6 KB)
还有 p4(因为我无法从这里访问该机器,所以我给出了手动输入的摘要):
etho : only inet6 addr
lo : inet addr : 127.0.0.1 Mask : 255.0.0.0
venet0 : only inet6 addr
vmbr0 : inet addr : 192.168.0.70 BCast : 192.168.0.255 Mask : 255.255.255.0
两个子网连接成功。切换后互联网服务提供商我无法再访问 p4 子网。所以有些事情已经发生了变化,但我认为这应该是一个小问题,因为在使用子网之前它运行正常。
我读过了两个子网中的虚拟机,但建议使用虚拟局域网。但根据分割流量的最佳方式,VLAN 还是子网?VLAN 工作在网络第 2 层,子网工作在网络第 3 层。应该使用第 3 层,即子网。
所以我应该在这些子网之间有一个网关。
根据Ubuntu KB - 网络配置我添加到 vbox1:
sudo route add default gw 10.10.14.81 eth1
但它会产生:
SIOCADDRT: Network is unreachable
搜索返回Ubuntu 隧道或网关主机地址和网络地址之间的区别。
供您参考,vbox1 是Ubuntu 13.04(咆哮的环尾猫)并且 p4 是Debian 7.5(喘息)。
我现在陷入困境。
答案1
将 vbox1 移至其他子网:将其在 eth0 上的 IP 地址从 192.168.1.65 更改为 192.168.0.65(或子网 192.168.0.0/24 中的其他空闲 IP 地址)。然后,vbox1 知道可以通过哪个接口访问 p4(192.168.0.70)(--> 通过 eth0)。然后 vbox1 自动调整其路由表。现在您应该能够从 vbox1 访问 p4。如果您想从 192.168.1.0/24 中的任何其他客户端访问 p4,则需要将 vbox1 配置为路由器(即可以将到达 eth1 [192.168.1.0/24] 的数据包转发到 eth0 [192.168.0.0/24](反之亦然)的设备。这就是“连接两个网络”的含义)。
具体怎么做取决于你使用的发行版。基本上,你需要将“1”写入设备文件/proc/sys/net/ipv4/ip_forward
。
喜欢echo 1 > /proc/sys/net/ipv4/ip_forward
但是,这仅在当前启动周期内有效。重启后该设置将消失。
如果要永久执行此操作,则必须将此行放入某些启动脚本中。如果您使用的是 Ubuntu,也可以将其放入 /etc/sysctl.conf(我不确定其他发行版是否如此)。取消注释此行net.ipv4.ip_forward=1
。如果要立即生效,也可以发出sudo sysctl -w net.ipv4.ip_forward=1
而不是上面提到的“echo”。
另请参阅这askubuntu.com 上的链接。