路由的基本概念:
一,Windows
命令参数详解:
-f 清除所有网关项的路由表。如果与某个命令结合使用,在运行该命令前,应清除路由表。
-p 与 ADD 命令结合使用时,将路由设置为在系统引导期间保持不变。默认情况下,重新启动系统时,不保存路由。忽略所有其他命令,这始终会影响相应的永久路由。
-4 强制使用 IPv4。例子:route print -4
-6 强制使用 IPv6。
command 指令动作名,可取值:
PRINT 打印路由
ADD 添加路由
DELETE 删除路由
CHANGE 修改现有路由
destination 指定目标主机IP。
MASK 指定下一个参数为“netmask”值。
netmask 指定此路由项的子网掩码值。如果未指定,其默认设置为 255.255.255.255。
gateway 指定网关。
METRIC 指定跃点数,例如目标的成本。
interface 指定路由的接口号码。
- route print # 查看所有的路由表信息
2,route add 命令,添加一条路由
route add 157.0.0.0 MASK 255.0.0.0 157.55.80.1 -p # -p参数表示永久添加
# 添加路由,它表示发向157网段的数据通过本机接口192.168.0.101被送往一个默认的网关157.55.80.1,它的跃点数是36。
3,添加路由实现没外网共用
二,Linux
1,三种类型路由说明
(a)主机路由
(b)网络路由
(c)默认路由
2,route的命令格式
route [add|del] [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]
route -n # 查看Linux内核路由表 或者 ip route
route命令使用举例:
添加到主机的路由
# route add -host 192.168.1.2 dev eth0:0
# route add -host 10.20.30.148 gw 10.20.30.40
添加到网络的路由
# route add -net 10.20.30.40 netmask 255.255.255.248 eth0
# route add -net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41
# route add -net 192.168.1.0/24 eth1
添加默认路由
# route add default gw 192.168.1.1
删除路由
# route del -host 192.168.1.2 dev eth0:0
# route del -host 10.20.30.148 gw 10.20.30.40
# route del -net 10.20.30.40 netmask 255.255.255.248 eth0
# route del -net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41
# route del -net 192.168.1.0/24 eth1
# route del default gw 192.168.1.1 //route del default 删除所有的默认路由
添加一条默认路由
# route add default gw 10.0.0.1 //默认只在内存中生效
开机自启动可以追加到/etc/rc.local文件里
# echo "route add default gw 10.0.0.1" >>/etc/rc.local
添加一条静态路由
# route add -net 192.168.2.0/24 gw 192.168.2.254
要永久生效的话要这样做:
# echo "any net 192.168.2.0/24 gw 192.168.2.254" >>/etc/sysconfig/static-routes
添加到一台主机的静态路由
# route add -host 192.168.2.2 gw 192.168.2.254
要永久生效的话要这样做:
# echo "any host 192.168.2.2 gw 192.168.2.254 " >>/etc/sysconfig/static-routes
注:Linux 默认没有这个文件 ,得手动创建一个
3,设置包转发
在Linux中默认的内核配置已经包含了路由功能,但默认并没有在系统启动时启用此功能;
开启Linux的路由功能可以通过调整内核的网络参数来实现,方法如下:
临时开启路由功能:
# echo 1 > /proc/sys/net/ipv4/ip_forward
或者
# sysctl -w net.ipv4.ip_forward=1
永久开启路由功能
# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
# sysctl -p
4,添加静态路由到路由表的语法如下:
ip route [destination_network] [mask] [next-hop_address] administrative_distance]
文章部分内容来自: