http://www.javashuo.com/article/p-axpnwygu-dy.htmlhtml
https://www.cnblogs.com/dapaitou2006/p/6564622.html
1、啓用Linux路由功能
配置文件在 /etc/sysctl.conf 裏的 net.ipv4.ip_forwartd=1啓用路由功能
root@t1:~# cat /proc/sys/net/ipv4/ip_forward
0
默認是關閉的linux
2、設置路由轉發
1添加靜態路由
在linux1/etc/sysconfig/nework-scripts/route-eth1 建立一個route-eth1的文件,添加以下:
ADDRESS1=192.168.80.0
NETMASK1=255.255.255.0
GATEWAY1=192.168.20.20
或者: route add -net 192.168.80.0 netmask 255.255.255.0 gw 192.168.20.20網絡
在linux2/etc/sysconfig/nework-scripts/route-eth0 建立一個route-eth0的文件,添加以下:
ADDRESS1=192.168.10.0
NETMASK1=255.255.255.0
GATEWAY1=192.168.20.10
或者: route add -net 192.168.10.0 netmask 255.255.255.0 gw 192.168.20.10app
2添加默認路由
若是添加的是默認路由,在配置/etc/sysconfig/nework-scripts/ifcfg-ethX的GATEWAY值。工具
3、策略路由ui
Linux 最多能夠支持 255 張路由表,其中有 3 張表是內置的,不能刪除。
表255 本地路由表(Local table):本地接口地址,廣播地址,已及NAT地址都放在這個表。該路由表由系統自動維護,管理員不能直接修改。
表254 主路由表(Main table) :若是沒有指明路由所屬的表,全部的路由都默認都放在這個表裏。舊的路由工具(如route)所添加的路由都會加到這個表。
表253 默認路由表 (Default table):這個表的做用不清楚,通常也用不到
表 0 保留htm
root@t1:~# ip rule ls
0: from all lookup local
32766: from all lookup main
32767: from all lookup defaultblog
默認的路由策略
經過 ip rule ls 能夠看到 Linux 默認的路由策略:接口
能夠看到:
1. 有三條策略,它們的優先級分別是 0,32766 和 32767;
2. 這些策略都是根據源地址來選擇路由表,它們適用於任何源地址的狀況(from all);
3. 0 級的策略優先級最高,它選定 local 表,這適應於目的地址是本機地址或者廣播地址的狀況。
4. 32766 級的策略選定 main 表,它適用於目的地址爲普通地址的狀況,這張表也就是經過工具 ‘route’ 看到的那張路由表。ip
在linux1上建立策略路由表和策略
1、建立策略路由表
[root@www ~]# vi /etc/iproute2/rt_tables
# reserved values
255 local
254 main
253 default
0 unspec
251 dianxin #電信
252 liantong #聯通
# local
#1 inr.ruhep
添加靜態路由到表中。說明到80網段有兩個路徑到。
[root@www ~]# ip route add 192.168.80.0/24 via 192.168.20.20 table 251
[root@www ~]# ip route add 192.168.80.0/24 via 192.168.30.20 table 252
[root@www ~]# ip route show table 251
192.168.80.0/24 via 192.168.20.20 dev eth1
[root@www ~]# ip route show table 252
192.168.80.0/24 via 192.168.30.20 dev eth2
2、建立策略
建立規則:說明100地址回去的路徑走"table 251"的路由表。pref是優先級,獨立IP地址的優先級固然更高。
[root@www ~]# ip rule add from 192.168.10.100/32 table 251 pref 10
[root@www ~]# ip rule add from 192.168.10.0/24 table 252 pref 100
[root@www ~]# ip rule show
0: from all lookup 255
10: from 192.168.10.100 lookup dianxin
100: from 192.168.10.0/24 lookup liantong
32766: from all lookup main
32767: from all lookup default
======================================
ip route add 192.168.2.0/24 via 192.168.1.1
ip route add 192.168.6.0/24 via 192.168.2.1
ip route add 192.168.7.0/24 via 192.168.2.1 dev eth1
ip route del 192.168.7.0/24 via 192.168.2.1 dev eth1
ip route del 192.168.2.0/24 via 192.168.1.1
ip route add 192.168.2.0/24 via 192.168.1.15 metric 10
ip route add default via 192.168.3.254 #添加默認路由
ip route append 192.168.2.0/24 via 192.168.1.12 #追加一個指定網絡的路由,爲了平滑切換網關使用
ip route change 192.168.2.0/24 via 192.168.1.11
ip route replace 192.168.2.0/24 via 192.168.1.111
ip route flush 192.168.2.0/24 #這個是清理全部192.168.2.0/24相關的全部路由,有時候設置錯網關存在多條記錄,就須要一次性清空相關路由再進行添加
ip addr add 192.168.0.193/24 dev wlan0
ip addr del 192.168.0.193/24 dev wlan0
ip route get 192.168.100.1
192.168.100.1 via 192.168.3.254 dev bond1 src 192.168.3.52 uid 0
cache
使用route命令添加一條靜態路由:
route add -net 192.168.3.0 netmask 255.255.255.0 gw 192.168.2.1
使用route命令添加一條路由,並指定eth1網卡:
route add -net 192.168.4.0 netmask 255.255.255.0 gw 192.168.2.1 dev eth1
使用route命令添加一條指向某一個主機的路由:
route add -host 192.168.5.125 gw 192.168.2.1
(不指定網關,作爲路由,本身就是網關)
補充:若是機器中存在多塊網卡,咱們能夠爲不一樣網卡指定不一樣的靜態路由。
好比還有eth1,eht2;那麼方法是同樣的,咱們依次爲每塊網卡建立一個對應的路由配置文件。route-eth0;route-eth1;route-eth2
1添加靜態路由
在linux1/etc/sysconfig/nework-scripts/route-eth1 建立一個route-eth1的文件,添加以下:
ADDRESS1=192.168.80.0
NETMASK1=255.255.255.0
GATEWAY1=192.168.20.20
或者: route add -net 192.168.80.0 netmask 255.255.255.0 gw 192.168.20.20
在linux2/etc/sysconfig/nework-scripts/route-eth0 建立一個route-eth0的文件,添加以下:
ADDRESS1=192.168.10.0
NETMASK1=255.255.255.0
GATEWAY1=192.168.20.10
或者: route add -net 192.168.10.0 netmask 255.255.255.0 gw 192.168.20.10
2添加默認路由若是添加的是默認路由,在配置/etc/sysconfig/nework-scripts/ifcfg-ethX的GATEWAY值。