首先,理解一个概念,ip转发。ip转发的意思是允许其他服务器的流量从本机器经过,默认linux系统的ipv4转发功能是禁用的,所以要使linux系统具有路由功能,
需要首先把linux系统的路由功能开启。
方法有两个:
1) 临时启用方法:
echo 1 > /proc/sys/net/ipv4/ip_forward
2) 永久启用
vi /etc/sysctl.conf ,把 net.ipv4.ip_forward = 0 改为 = “1”
--------------------------------------------------------------------------------
实验环境:
宿主机 windows 7 64位旗舰版,vmware workstation 9.0.1 build-894247,三台vmware虚拟机:
Node1 两块网卡,一块网卡使用host-only连接,ip 192.168.100.254;一块用vmnet 2 连接,ip 172.16.100.21 使这两个网卡不在一个网络中。
Node2 一块网卡 ,网络连接类型host-only ip 192.168.100.10
Node3 一块网卡 ,网络连接类型vmnet2 ip 172.16.100.20
此时node2 可以与node1通信,node3也可以与node1通信,node2和node3之间无法通信(因为不再一个网络中),如何使node2和node3可以相互通信哪?
因为node1有两块网卡,有到这两个网络的路由,所以考虑node2上添加一条静态路由,即要到达172.16.100这个网络需要经过的下一跳是192.168.100.254;
node3上也添加一条静态路由,即要到达192;168.100.0这个网络需要经过的下一跳是172.16.100.21 ,同时三台机器都开启ip转发功能。
操作步骤:
1) node2 配置
route add -net 172.16.100.0/24 gw 192.168.100.254 #添加静态路由
为了永久保存静态路由条目,需要建立一个route-NIC 配置文件,默认文件不存在,手动建立
vi /etc/sysconfig/network-scripts/route-eth0
172.16.100.0/24 via 192.168.100.254 #添加条目
启用ip转发
2) node3 配置
route add -net 192.168.100.0/24 gw 172.16.100.21
为了永久保存静态路由条目,需要建立一个route-NIC 配置文件,默认文件不存在,手动建立
vi /etc/sysconfig/network-scripts/route-eth0
192.168.100.0/24 via 172.16.100.21 #添加条目
启用ip转发
3) node1 上配置
node1上只需要启用ip转发功能即可
测试:node2上ping 172.16.100.20 ,node3上ping 192.168.100.10 看是否都是联通的,通的证明路由添加成功。如下图:
成功。