使Linux服务器具有路由功能

HeKing 2013-02-14

首先,理解一个概念,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 看是否都是联通的,通的证明路由添加成功。如下图:

使Linux服务器具有路由功能

使Linux服务器具有路由功能

成功。

相关推荐