Linux 網絡配置

使用下面的 route 命令可以查看 Linux 內核路由表。
[root@localhost ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 117.187.23.129 0.0.0.0 UG 1024 0 0 enp6s0f0
10.0.0.0 10.195.153.122 255.0.0.0 UG 0 0 0 enp6s0f2
10.195.153.120 0.0.0.0 255.255.255.248 U 0 0 0 enp6s0f2
117.187.23.128 0.0.0.0 255.255.255.192 U 0 0 0 enp6s0f0
172.16.0.0 0.0.0.0 255.255.255.0 U 0 0 0 enp6s0f1

route 命令的輸出項說明
輸出項 說明
Destination 目標網段或者主機
Gateway 網關地址,”*” 表示目標是本主機所屬的網絡,不需要路由
Genmask 網絡掩碼
Flags 標記

一些可能的標記如下:
U — 路由是活動的
H — 目標是一個主機
N — 目標時某個網段
G — 路由指向網關
R — 恢復動態路由產生的表項
D — 由路由的後臺程序動態地安裝
M — 由路由的後臺程序修改
! — 拒絕路由
Metric 路由距離,到達指定網絡所需的中轉數(linux 內核中沒有使用)。
Ref 路由項引用次數(linux 內核中沒有使用)。
Use 此路由項被路由軟件查找的次數 。
Iface 該路由表項對應的輸出接口 。


3 種路由類型

主機路由
主機路由是路由選擇表中指向單個IP地址或主機名的路由記錄。主機路由的Flags字段爲H。例如,在下面的示例
中,本地主機通過IP地址192.168.1.1的路由器到達IP地址爲10.0.0.10的主機。
Destination Gateway Genmask Flags Metric Ref Use Iface
———– ——- ——- —– —— — — —–
10.0.0.10 192.168.1.1 255.255.255.255 UH 0 0 0 eth0

網絡路由
網絡路由是代表主機可以到達的網絡。網絡路由的Flags字段爲N。例如,在下面的示例中,本地主機將發送到網
絡192.19.12的數據包轉發到IP地址爲192.168.1.1的路由器。
Destination Gateway Genmask Flags Metric Ref Use Iface
———– ——- ——- —– —– — — —–
192.19.12 192.168.1.1 255.255.255.0 UN 0 0 0 eth0

默認路由
當主機不能在路由表中查找到目標主機的IP地址或網絡路由時,數據包就被髮送到默認路由(默認網關)上。默
認路由的Flags字段爲G。例如,在下面的示例中,默認路由是IP地址爲192.168.1.1的路由器。
Destination Gateway Genmask Flags Metric Ref Use Iface
———– ——- ——- —– —— — — —–
default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0


配置靜態路由
route 命令
設置和查看路由表都可以用 route 命令,設置內核路由表的命令格式是:

route [add|del] [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]

其中:
add : 添加一條路由規則
del : 刪除一條路由規則
-net : 目的地址是一個網絡
-host : 目的地址是一個主機
target : 目的網絡或主機
netmask : 目的地址的網絡掩碼
gw : 路由數據包通過的網關
dev : 爲路由指定的網絡接口

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 -net 10.0.0.0/8 gw 10.195.153.122

添加默認路由

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


設置包轉發
在 CentOS 中默認的內核配置已經包含了路由功能,但默認並沒有在系統啓動時啓用此功能。開啓 Linux的路由
功能可以通過調整內核的網絡參數來實現。要配置和調整內核參數可以使用 sysctl 命令。例如:要開啓 Linux內核的
數據包轉發功能可以使用如下的命令。

sysctl -w net.ipv4.ip_forward=1

  這樣設置之後,當前系統就能實現包轉發,但下次啓動計算機時將失效。爲了使在下次啓動計算機時仍然有效,

需要將下面的行寫入配置文件/etc/sysctl.conf。

vi /etc/sysctl.conf

net.ipv4.ip_forward = 1

  用戶還可以使用如下的命令查看當前系統是否支持包轉發。 

sysctl net.ipv4.ip_forward

文章參考:http://blog.csdn.net/devil_2009/article/details/6768935

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章