一、環境:
二個不同的虛擬子網
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