为了让设备能访问另一个子网,需要在设备里增加路由到子网络,下面是一些资料。基本操作如下:
一般来说,都是为了能访问别的子网才设置路由的,比如说,你的主机处于192.168.10.0/24,而你想访问192.168.20.0/24网的主机,当然你知道一个网关IP,例如192.168.10.1(必须和你主机处于同一子网),那么,你可以这样配置路由。
添加路由
routeadd -net192.168.20.0netmask255.255.255.0gw192.168.10.1
查看路由状态
route -n
删除路由
route del -net192.168.20.0netmask255.255.255.0
摘自鸟哥的私房菜
路由修改 route
我们在网路基础的时候谈过关于路由的问题,两部主机之间一定要有路由才能够互通 TCP/IP
一般来说,只要有网路介面,该介面就会产生一个路由,例如在鸟哥实验室内部的主机有一个 eth0
[root@linux ~]# route [-nee]
[root@linux ~]# route add [-net|-host] [网域或主机]
[root@linux ~]# route del [-net|-host] [网域或主机]
观察的参数:
-n :不要使用通讯协定或主机名称,直接使用
-ee :使用更详细的资讯来显示
增加 (add)
-net :表示后面接的路由为一个网域;
-host :表示后面接的为连接到单部主机的路由;
netmask :与网域有关,可以设定
gw :gateway
dev :如果只是要指定由那一块网路卡连线出去,则使用这个设定,后面接
范例一:单纯的观察路由状态
[root@linux ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
0.0.0.0 192.168.10.30 0.0.0.0 UG 0 0 0 eth0
[root@linux ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.10.0 * 255.255.255.0 U 0 0 0 eth0
169.254.0.0 * 255.255.0.0 U 0 0 0 eth0
default server.cluster 0.0.0.0 UG 0 0 0 eth0
由上面的例子当中仔细观察 route
· Destination, Genmask:这两个玩意儿就是分别是
· Gateway:该网域是通过那个
· Flags:总共有多个旗标,代表的意义如下:
o U (route is up):该路由是启动的;
o H (target is a host):目标是一部主机
o G (use gateway):需要透过外部的主机
o R (reinstate route for dynamic routing):使用动态路由时,恢复路由资讯的旗标;
o D (dynamically installed by daemon or redirect):已经由服务或转
o M (modified from routing daemon or redirect):路由已经被修改了;
o ! (reject route):这个路由将不会被接受(用来抵挡不安全的网域!)
· Iface:这个路由传递封包的介面。
此外,观察一下上面的路由排列顺序喔,依序是由小网域(192.168.10.0/24
1)不是 192.168.10.0/24,
2)不是
3)0/0 时,OK!传出去了,透过
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
也就是说,由于路由是依照顺序来排列与传送的,所以不论封包是由那个介面 (eth0,
范例二:路由的增加与删除
[root@linux ~]# route del -net 169.254.0.0 netmask 255.255.0.0 dev eth0
# 上面这个动作可以删除掉
# 请注意,在删除的时候,需要将路由表上面出现的资讯都写入
# 包括
[root@linux ~]# route add -net 192.168.100.0 netmask 255.255.255.0 dev eth0
# 透过
# 举例来说,如果我下达底下的指令就会显示错误:
# route add -net 192.168.200.0 netmask 255.255.255.0 gw 192.168.200.254
# 因为我的环境内仅有
# 这个网段直接使用
[root@linux ~]# route add default gw 192.168.10.30
# 增加预设路由的方法!请注意,只要有一个预设路由就够了喔!
# 在这个地方如果您随便设定后,记得使用底下的指令重新设定你的网路
# /etc/init.d/network restart
如果是要进行路由的删除与增加,那就得要参考上面的例子了,其实,使用 man
# route 命令添加的路由,机器重启或者网卡重启后就没掉了,在linux下设置永久路由的方法:
1.在/etc/rc.local里添加
2.在/etc/sysconfig/network里添加到末尾
3./etc/sysconfig/static-router :
any net x.x.x.x/24 gw y.y.y.y
===========================================================================================
简单的的操作如下,
查看路由状态:route print
只查看ipv4(ipv6)路由状态:route print -4(-6)
添加路由:route add 目的网络 mask 子网掩码 网关 ——重启机器或网卡失效
route add 192.168.20.0 mask 255.255.255.0 192.168.10.1
添加永久:route -p add
route -p add 192.168.20.0 mask 255.255.255.0 192.168.10.1
删除路由:route delete 目的网络 mask 子网掩码
route delete 192.168.20.0 mask 255.255.255.0