centos 網絡相關

新安裝完CentOS Linux,發現配置 完apache後沒法訪問,估計是防火牆問題。

/etc/init.d/iptables status

會得到一系列信息 ,說明防火牆開着。

 

/etc/init.d/iptables stop

/etc/init.d/iptables start

/etc/init.d/iptables restart 

 1. ping
功能說明:檢測主機。
語  法:ping [-dfnqrRv][-c][-i][-I]
[-l][-p][-s][-t][主機名稱或
IP地址]
補充說明:執行ping指令會使用ICMP傳輸協議,發出要求迴應的信息,若遠端主機的網絡功能沒有問題,就會迴應該信息,因而得知該主機運作正常。
參  數:
-d 使用Socket的SO_DEBUG功能。
-c 設置完成要求迴應的次數。
-f 極限檢測。
-i 指定收發信息的間隔時間。
-I 使用指定的網絡界面送出數據包。
-l 設置在送出要求信息之前,先行發出的數據包。
-n 只輸出數值。
-p 設置填滿數據包的範本樣式。
-q 不顯示指令執行過程,開頭和結尾的相關信息除外。
-r 忽略普通的Routing Table,直接將數據包送到遠端主機上。
-R 記錄路由過程。
-s 設置數據包的大小。
-t 設置存活數值TTL的大小。
-v 詳細顯示指令的執行過程。
實例:
測試網絡是否暢通:ping -c 3 192.168.1.1
注意:
1) ping不通大多數是由防火牆設置造成的。
2. ifconfig
功能說明:顯示或設置網絡設備。
語  法:ifconfig [網絡設備][down up -allmulti -arp
-promisc][add][del][
][io_addr][irq
][media][mem_start][metric][mtu][netmask][tunnel][-broadcast]
[-pointopoint][IP地址]
參  數:
add 設置網絡設備IPv6的IP地址。
del 刪除網絡設備IPv6的IP地址。
down 關閉指定的網絡設備。
設置網絡設備的類型與硬件地址。
io_addr 設置網絡設備的I/O地址。
irq 設置網絡設備的IRQ。
media 設置網絡設備的媒介類型。
mem_start 設置網絡設備在主內存所佔用的起始地址。
metric 指定在計算數據包的轉送次數時,所要加上的數目。
mtu 設置網絡設備的MTU(maximum transfer unit)。
netmask 設置網絡設備的子網掩碼。
tunnel 建立IPv4與IPv6之間的隧道通信地址。
up 啓動指定的網絡設備。
-broadcast 將要送往指定地址的數據包當成廣播數據包來處理。
-pointopoint 與指定地址的網絡設備建立直接連線,此模式具有保密功能。
-promisc 關閉或啓動指定網絡設備的promiscuous模式。
[IP地址] 指定網絡設備的IP地址。
[網絡設備] 指定網絡設備的名稱。
實例:
激活網絡設備:ifconfig eth0 up

更改網絡設備信息: #ifconfig eth0 192.168.1.112 netmask 255.255.255.0

關閉網絡設備:ifconfig eth0 down
修改網卡的MAC地址:
ifconfig eth0 down
ifconfig eth0 hw ether xx:xx:xx:xx:xx:xx
ifconfig eth0 up
注意:
1)使用ifconfig命令配置網絡參數只能在本次啓動有效,下次啓動系統會讀取配置文件的相關信息。
3. route
功能說明:顯示/修改路由表。
語法: route add/del [-net|-host] 目標主機或網域 [netmask] [gw|dev]   -nee
參數:
-n   :列出的信息以 IP 來顯示
-ee   :列出較長列的信息
add   :增加路由信息
net   :刪除一個路由信息
-net  :增加一個『網域』的路由,例如 C Class 的網域!
-host  :增加到某個 IP 主機的路由!
netmask :就是 netmask 呀!
gw    :這個是路由的通訊閘! gw  是以 IP 來建置的
dev   :這個是路由的通訊閘! dev 是以 界面 ( internet ) 代號來建置的!
實例:
[root@test root]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref  Use Iface
140.116.141.253 *               255.255.255.255 UH    0      0      0 ppp0
192.168.1.0     *               255.255.255.0   U     0      0      0 eth0
127.0.0.0       *               255.0.0.0       U     0      0      0 lo
default         140.116.141.253 0.0.0.0         UG    0      0      0 ppp0
 
[root@test root]# route -n  
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
140.116.141.253 0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo
0.0.0.0         140.116.141.253 0.0.0.0         UG    0      0        0 ppp0
注意到 route, route -n 這兩個範例喔!使用 -n 與否會使 domain 是否進行查詢,
一般來說,我都喜歡加上 -n 的,因爲不必去查詢正反解,顯示速度較快,
此外, default gateway 就是 0.0.0.0 喔!
 
[root@test root]# route add -net 192.168.0.0 netmask 255.255.255.0 dev eth0  
# 新增一個路由規則!
 
[root@test root]# route del -net 192.168.0.0 netmask 255.255.255.0 dev eth0
# 刪除一個路由囉
 
[root@test root]# route add default gw 192.168.1.2  
# 增加一個 default gateway 呢!
注意一下, gw 後面接的是 IP ,而 dev 後面接的則是裝置代號喔!
顯示內容的意義:

Destination:
目標,可以是 IP 也可以是網域!至於沒有規定到的,則是以 default 來表示!以上面爲例,當我的機器要去 192.168.1.0
的時候,則以上表的 192.168.1.0 那一行的設定爲主,但如果我要去 tw.yahoo.com 的時候,由於沒有規定到!所以就要以
default 的信息爲主要的路由!因此,我就會經由 140.116.141.253 這個 gateway 來傳送出去我的封包囉!
Gateway :該目標要經由哪一個網關傳送?就是這一個設定值啦! Genmask :
就是該 Destination 的 netmask 囉!例如 140.116.141.253 爲 255.255.255.255
,因爲他是一個 host 而不是一個 network 呀!至於 192.168.1.0 就是 255.255.255.0 這個 C Class
囉!那如果是 default 的話,就顯示 0.0.0.0 ,也就是不論是哪裏,都出自這一個 gateway 就是了!
Flages :旗標,有底下幾種 Flage 呢:
  • U (route is up):該路由已經啓動了;
  • H (target is a host):目標是一個主機( IP ),例如上面範例中的 140.116.141.253 那一個;
  • G (use gateway):用來作爲 gateway 的設定;
  • R (reinstate route for dynamic routing):使用動態路由時,恢復路由信息的旗標;
  • D (dynamically installed by daemon or redirect):已經由服務或轉 port 功能設定爲 動態路由;
  • M (modified from routing daemon or redirect):路由已經被修改了;
  • !  (reject route):這個路由將不會被接受(用來抵擋不安全的網域!)
Iface :該設定使用的網絡接口
   

注意:
1)當發現下達 route 的時候,顯示的速度很慢時,通常是路由信息有一定的問題存在!果真如此的話,務必仔細的檢查一下設定,否則對於網絡速度會有遲滯現象。(以上關於route命令的解釋轉自
鳥哥私房菜
4. nslookup
功能說明:查詢一臺機器的IP地址和其對應的域名。
語法:nslookup [-option] [name | -] [server]
參數:
exit   退出交互模式
sever  提供解析域名的服務器地址
set   設置屬性: all,domain=name, port=數字,type=類型(查詢類型,A,HNFO,PTR,NS等),rety=秒數,timeout=秒數
實例:
$nslookup  www.baidu.com
$nslookup  21.44.176.169
注:nslookup不推薦使用了,推薦使用dig和host命令。




路由表和靜態路由

內容提要

  1. 查看 Linux 內核路由表
  2. 使用 route 命令設置靜態路由
  3. 設置包轉發

Linux 內核路由表

查看 Linux 內核路由表

使用下面的 route 命令可以查看 Linux 內核路由表。

# route
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.0.0     *               255.255.255.0   U     0      0        0 eth0
169.254.0.0     *               255.255.0.0     U     0      0        0 eth0
default         192.168.0.1     0.0.0.0         UG    0      0        0 eth0

route 命令的輸出項說明

輸出項 說明
Destination 目標網段或者主機
Gateway 網關地址,”*” 表示目標是本主機所屬的網絡,不需要路由
Genmask 網絡掩碼
Flags 標記。一些可能的標記如下:
U — 路由是活動的
H — 目標是一個主機
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 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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章