Linux虚拟化网络之路由配置

一、Linux路由配置

如果要在不同网段直接通讯,需要添加路由,Linux添加路由命令如下:

route [add|del] [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]
  • add : 添加一条路由规则;
  • del : 删除一条路由规则;
  • -net : 目的地址是一个网络;
  • -host : 目的地址是一个主机;
  • target : 目的网络或主机;
  • netmask : 目的地址的网络掩码;
  • gw : 路由数据包通过的网关;
  • dev : 为路由指定的网络接口;

1、添加主机路由

如果想192.168.2.10主机 ping通192.168.0.8主机,则需要经过路由器2,就要在192.168.2.10的主机上添加一条到192.168.0.8的路由,添加命令如下:

route add -host 192.168.0.8  gw 192.168.2.1 dev eth0

这条命令的意思是访问192.168.0.8的主机消息都从192.168.2.1端口转发。

用route命令查看一下添加的路由:

Destination目标网络或目标主机。Destination 为 default(0.0.0.0)时,表示这个是默认网关,所有数据都发到这个网关(这里是 10.139.128.1
Gateway网关地址,0.0.0.0 表示当前记录对应的 Destination 跟本机在同一个网段,通信时不需要经过网关(同一个局域网内2台主机通信不需要经过网关)
GenmaskDestination 字段的网络掩码,Destination 是主机时需要设置为 255.255.255.255,是默认路由时会设置为 0.0.0.0
Flags

标志

  • U - Up表示有效
  • G - Gateway表示连接路由,若无这个字段表示直连目的地址
  • H - Host表示目标是具体主机,而不是网段
  • R 恢复动态路由产生的表项
  • D 由路由的后台程序动态地安装
  • M 由路由的后台程序修改
  • ! 拒绝路由
 Metric 路由距离,到达指定网络所需的中转数,是大型局域网和广域网设置所必需的 (不在Linux内核中使用。)
 Ref 路由项引用次数 (不在Linux内核中使用。)
 Use 此路由项被路由软件查找的次数
 Iface 网卡名字,例如 eth0;要去往这个网段需要使用哪一个网络接口。也就是eth0这张网卡

第一条路由信息的意思就是访问主机192.168.0.8的信息都从192.168.2.1网关转发。

若要删除这条路由只需执行:

route del 192.168.0.8

2、添加网络路由

第一种添加主机路由的方式只能访问到一台目录主机,如果192.168.2.10要访问0网段的所有主机的话把0网段主机都添加一遍显然很麻烦,通过添加网络路由的方式,只要在192.168.0.10主机上添加一条0网段的网络路由即可,添加命令如下:

route add -net 192.168.0.0 netmask 255.255.255.0 gw 192.168.2.1 dev eth0

这个目标是网络,所以需要设置子网掩码,用route命令查看一下添加的网络路由。

这条路由表示访问0网段的消息都从192.168.2.1网关转发

删除网络路由:

route del -net 192.168.0.0/24 gw 192.168.2.1

3、添加默认路由

如果2网段主机想访问其他所以网段的网络,只需要添加默认路由即可:

route add default gw 192.168.2.1 dev eth0

默认路由的意思是所有访问非2网段的信息都从192.168.2.1转发

删除默认路由:

route del default

二、Linux路由转发功能

配置Linux,使Linux也具有路由功能。

拓扑如下:

server1 IP地址配置:

server2 IP地址配置: 

server-router IP地址配置:

路由器静态路由配置: 

Linux要开启路由转发功能。

如果需要永久支持路由转发功能 ,修改/etc/sysctl.conf文件。 

加载配置文件。

 

三、Linux 路由功能案例

配置路由,使两个Centos间能互相访问。 

 centos配置:

配置IP地址后,Linux获得自动直连路由192.168.10.0。 

centos-router IP地址配置:

CentOS可以访问到路由器:

 

Windows可以访问直连路由器,但是访问不到CentOS:

原因是Windows流量到达CentOS后,CentOS回包时找不到192.168.20.0/24的网络的路由,只有一个缺省路由。

CentOS添加路由:

 

设置去往192.168.20.0网络的下一跳是192.168.10.20。

设置路由后,windows即可访问CentOS:


版权声明:本文为qq_35029061原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。