查看路由表
ip route show|column -t
route -n
永久添加路由
vim /etc/sysconfig/network-scripts/route-ens224
./ via ../ via
重启网络生效
systemctl restart network
Centos6
C、# vi /etc/sysconfig/static-routes (没有static-routes的话就手动建立一个这样的文件,推荐使用)
语句:
any net 0.0.0.0 gw 192.168.209.128
any net 192.168.3.0/24 gw 192.168.3.254
any net 10.250.228.128 netmask 255.255.255.192 gw 10.250.228.129
一、使用route命令
添加route 命令
设置和查看路由表都可以用 route 命令,设置内核路由表的命令格式是:
# route [add|del] [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]
其中:
add : 添加一条路由规则
del : 删除一条路由规则
-net : 目的地址是一个网络
-host : 目的地址是一个主机
target : 目的网络或主机
netmask : 目的地址的网络掩码
gw : 路由数据包通过的网关
route 命令的输出项说明 输出项 说明
Destination
目标网段或者主机
Gateway
网关地址,”*” 表示目标是本主机所属的网络,不需要路由
Genmask
网络掩码
Flags
标记。一些可能的标记如下:
U — 路由是活动的
H — 目标是一个主机
G — 路由指向网关
R — 恢复动态路由产生的表项
D — 由路由的后台程序动态地安装
M — 由路由的后台程序修改
! — 拒绝路由
Metric
路由距离,到达指定网络所需的中转数(linux 内核中没有使用)
Ref
路由项引用次数(linux 内核中没有使用)
Use
此路由项被路由软件查找的次数
Iface
该路由表项对应的输出接口
dev : 为路由指定的网络接口
使用route 命令添加的路由,机器重启或者网卡重启后路由就失效了,方法:
A、添加到主机的路由
# route add –host 192.168.1.10 dev eth0
# route add –host 192.168.1.10 gw 192.168.1.1
B、添加到网络的路由
# route add –net 192.168.1.0 netmask 255.255.255.0 eth0
# route add –net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1
# route add –net 192.168.1.0/24 eth1
C、添加默认网关
# route add default gw 192.168.1.1
D、删除路由
# route del –host 192.168.1.10 dev eth0
ip route add 192.178.18.0/24 via 192.178.17.200 dev em4
CentOS7、CentOS6添加永久静态路由
本人在实际工作中经常需要添加
永久静态路由,故整理此文。我这里只列举最快捷有效的添加方法,其他方法大家可自行查找,本文不再赘述。
假设我这台机器有三块儿网卡,ip192.168.102.30配置在网卡eth0上,掩码是255.255.255.0,网关是192.168.102.1,需要与192.168.100.0段内所有服务器通信,以下是路由设置方法。
1. CentOS7添加永久静态路由方法
输入
ip route show | column -t查看当前路由表:
[root@test ~]# ip route show | column -t
192.168.102.0/24dev eth0protokernelscopelinksrc 192.168.102.107metric100
[root@test ~]#
123
输入命令
ip addr查看所需经过的网卡的名称:
[root@test ~]# ip addr
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_Ift forever preferred_Ift forever
inet6 ::1/128 scop host
valid_Ift forever prefeered_Ift forever
2: eth0: mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:13:dd:a2:08:00 brd ff:ff:ff:ff:ff:ff
inet 192.168.102.30/24 brd 192.168.102.255 scope global noprefixroute eth0
valid_Ift forever preferred_Ift forever
inet6 ed20::21c:5dff:fe64:3000/64 scop link
valid_Ift forever prefeered_Ift forever
3: eth1: mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether 00:13:dd:a2:08:01 brd ff:ff:ff:ff:ff:ff
4: eth2: mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether 00:13:dd:a2:08:02 brd ff:ff:ff:ff:ff:ff
[root@test ~]#
123456789101112131415161718
从以上回显中可以得知所需经过的网卡名为
eth0,然后我们用
vi编辑器在以下路径创建文件
route-eth0并编辑:
[root@test ~]# vi /etc/sysconfig/network-scripts/route-eth01
在route-eth0文件中添加以下行:
192.168.100.0/24 via 192.168.102.1 dev eth0
其中,192.168.100.0/24是目标网段及掩码,192.168.102.10是网关,dev eth0是途径设备。
192.168.100.0/24 via 192.168.102.1 dev eth0
~
~
~
~
~
~
~
"/etc/sysconfig/network-scripts/route-eth0" 3L, 89C123456789
添加完成后按
Esc退出编辑,输入“
:wq”,敲击回车保存并退出:
192.168.100.0/24 via 192.168.102.1 dev eth0
~
~
~
~
~
~
~
:wq123456789
随后输入
service network restart重启网络服务:
[root@test ~]# service network restart
Restarting network (via systemctl):[ ok ]
[root@test ~]#
123
ping一下目标网段的机器,看看通不通,按Ctrl+C中断:
[root@test ~]# ping 192.168.100.226
PING 192.168.100.226 (192.168.100.226) 56(84) bytes of data.
64 bytes from 192.168.100.226: icmp_seq=1 ttl=255 time=1.33 ms
64 bytes from 192.168.100.226: icmp_seq=2 ttl=255 time=1.34 ms
64 bytes from 192.168.100.226: icmp_seq=3 ttl=255 time=1.56 ms
^C
--- 192.168.100.226 ping statistics ---
3packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 1.339/1.417/1.565/0.104 ms
[root@test ~]#
12345678910
输入
ip route show | column -t查看路由表中是否有刚才添加的路由:
[root@test ~]# ip route show | column -t
192.168.100.0/24via 192.168.102.1deveth0protostaticmetric100
192.168.102.0/24dev eth0protokernelscopelinksrc192.168.102.30metric100
[root@test ~]#
1234
至此,CentOS7操作系统下永久静态路由设置完成。
2. CentOS6添加永久静态路由方法
CentOS6要比CentOS7简单粗暴的多。
输入
route -n查看当前路由表:
[root@test2 ~]# route -n
Kernel IP routing table
DestinationGatewayGenmaskFlagsMetricRefUseIface
0.0.0.0192.168.102.1255.255.255.0UG000eth0
[root@test2 ~]#
12345
输入命令
ifconfig查看所需经过的网卡的名称:
[root@test2 ~]# ifconfig
eth0Link encap:Ethernet HWaddr 00:13:DD:A2:08:00
inet addr:192.168.102.30 Bcast:192.168.102.255 Mask:255.255.255.0
inet6 addr: ed20::21c:5dff:fe64::3000/64 Scope:Global
inet6 addr: fe80::215:5d66::1100/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:32609036 errors:0 dropped:0 overruns:0 carrier:0
TX packets:83149 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3808450527 (3.5 GiB) TX bytes:5266402 (5.0 MiB)
loLink encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:346915 errors:0 dropped:0 overruns:0 frame:0
TX packets:346915 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:24878697 (23.7 MiB) TX bytes:24878697 (23.7 MiB)
[root@test2 ~]#
123456789101112131415161718192021
从以上回显中可以得知所需经过的网卡名为
eth0,然后我们用
vi编辑器在以下路径创建文件
static-routes并编辑:
[root@test2 ~]# vi /etc/sysconfig/static-routes
在
static-routes文件中添加以下行:
any net 192.168.100.0 netmask 255.255.255.0 gw 192.168.102.1
其中,192.168.100.0是目标网段,netmask是子网掩码,192.168.102.1是途径网关。
any net 192.168.100.0 netmask 255.255.255.0 gw 192.168.102.1
~
~
~
~
~
~
~
"/etc/sysconfig/static-routes" 3L, 189C123456789
添加完成后按
Esc退出编辑,输入“
:wq”,敲击回车保存并退出:
192.168.100.0/24 via 192.168.102.1 dev eth0
~
~
~
~
~
~
~
:wq123456789
随后输入
service network restart重启网络服务:
[root@test2 ~]# service network restart
Shutting down interface eth0:[ ok ]
Shutting down loopback interface:[ ok ]
Bringing up loopback interface:[ ok ]
Shutting down interface eth0: Determining if ip address 192.168.102.30 is already in use for device eth0...
[ ok ]
[root@test2 ~]#
1234567
ping一下目标网段的机器,看看通不通,按Ctrl+C中断:
[root@test2 ~]# ping 192.168.100.226
PING 192.168.100.226 (192.168.100.226) 56(84) bytes of data.
64 bytes from 192.168.100.226: icmp_seq=1 ttl=255 time=1.81 ms
64 bytes from 192.168.100.226: icmp_seq=2 ttl=255 time=1.24 ms
64 bytes from 192.168.100.226: icmp_seq=3 ttl=255 time=1.89 ms
64 bytes from 192.168.100.226: icmp_seq=4 ttl=255 time=1.21 ms
^C
--- 192.168.100.226 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3272ms
rtt min/avg/max/mdev = 1.213/1.542/1.897/0.318 ms
[root@test2 ~]#
1234567891011
输入
route -n查看路由表,看看刚才添加的路由是否存在:
[root@test2 ~]# route -n
Kernel IP routing table
DestinationGatewayGenmaskFlagsMetricRefUseIface
192.168.100.0192.168.102.1255.255.255.0UG000eth0
0.0.0.0192.168.102.1255.255.255.0UG000eth0
[root@test2 ~]#
123456
至此,CentOS6操作系统下永久静态路由设置完成。