一、环境:
二个不同的虚拟子网
VMnet1: 192.168.155.0/24
VMnet8: 192.168.170.0/24
编辑 --》 虚拟网络编辑器 (查看自己的子网,相应修改就行)
虚拟机vm1 192.168.170.3 VMnet8 (NAT模式)
虚拟机vm2 192.168.155.3 VMnet1 (仅主机模式)
虚拟机gate 192.168.170.4 (eth1) VMnet8 (NAT模式)
192.168.155.4 (eth0) VMnet1 (仅主机模式)
可能出错原因:
网络适配器 对应的模式不对 (NAT模式 或者 仅主机模式)
虚拟机 --》 设置 (查看网络适配器的模式,相应修改就行)
虚拟机gate的如下:
如何用putty连接vm1和vm2 以及gate 参考下面链接
gate如何添加以太网卡和不识别的处理方法
虚拟机 --》 设置
如下图添加以太网卡
根据所在的不同子网,选择 NAT模式 或者 仅主机模式,后确定就完成添加。
然后重启系统,如果成功识别二个网卡,如下图,就跳过下面的不识别的处理方法
如果没有二个网卡的话,不识别的处理方法有二个
①、setup命令
[root@localhost root]# setup
选择Network configuration ,按回车,按Yes
在那里 填写 IP address: 192.168.177.4
Netmask: 255.255.255.0
按 OK
最后按 exit 退出
如图:
②、直接编辑 /etc/sysconfig/network-scripts/ifcfg-eth0文件
[root@localhost root]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
接着配置第二个网卡eth1
[root@localhost root]# vi /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.170.4
NETMASK=255.255.255.0
重启network服务,让更改生效
[root@localhost root]# service network restart
至此gate配置就好了,
如果putty连接192.168.170.4和192.168.155.4都成功的话,就可以了。
二、启动gate转发
putty连接192.168.170.4(或者192.168.155.4),
[root@localhost root]# vi /etc/sysctl.conf
使 上面的更改 生效
[root@localhost root]# sysctl -p
(可能错误:
①、不启动gate转发,ping -c 3 192.168.155.3 或者 ping -c 3 192.168.170.3
都会提示: connect: Network is unreachable
②、启动gate转发,vm1和vm2中都没有添加路由的话,
ping -c 3 192.168.155.3 或者 ping -c 3 192.168.170.3
都会提示: connect: Network is unreachable
③、启动gate转发,vm1和vm2中只有一个添加路由的话,例如:
vm1添加了到vm2的路由,可以到vm2, 但是vm2 因为没有到vm1的路由,
没法返回结果给vm1,所以掉包了。如下:
[root@localhost root]# ping -c 3 192.168.155.3
PING 192.168.155.3 (192.168.155.3) 56(84) bytes of data.
--- 192.168.155.3 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2018ms
提示就是这个掉包。
三、vm1和vm2添加路由
虚拟机vm1 192.168.170.3
[root@www root]# route add -net 192.168.155.0/24 gw 192.168.170.4
(vm1通过192.168.170.4(eth1)到达 192.168.155.0/24子网,从而可以ping通
192.168.155.3)
虚拟机vm2 192.168.155.3
[root@www root]# route add -net 192.168.170.0/24 gw 192.168.155.4
(vm2通过192.168.155.4(eth0)到达 192.168.170.0/24子网,从而可以ping通
192.168.170.3)
[root@localhost root]# route –n
显示路由信息 (添加成功,会多红色的部分)
最后vm1 ping vm2
[root@www root]# ping -c 3 192.168.155.3
vm2 ping vm1
[root@www root]# ping -c 3 192.168.170.3
至此实现不同子网之间的信息交流(互相可以PING通)。
零散知识:
ifconfig eth0 (查看eth0 网络适配器的信息)
route -n (查看路由表)
服务脚本一般存放在 /etc/init.d
例如:
[root@localhost network-scripts]# cd /etc/init.d
[root@localhost init.d]# ls
aep1000 crond httpd killall nfs postfix single xfs
anacron cups iptables kudzu nfslock random squid xinetd
apmd firstboot irda mysqld nscd rawdevices sshd ypbind
atd functions isdn named ntpd rhnsd syslog
autofs gpm kdcrotate netfs pcmcia saslauthd tux
bcm5820 halt keytable network portmap sendmail vsftpd