1、IP、網關、路由、掩碼服務器
網絡間主機的通訊是一般是基於TCP/IP協議。數據從A主機發送到網絡中的B主機,須要經過層層包裝及協議轉發,最終經過B主機的IP地址定位,B主機才能最終接收到數據。這個過程很複雜,中間數據的處理是經過TCP/IP協議實現的,而TCP/IP協議又是創建在OSI四層模型上。OSI的四層模型每層都有每層的功能,OSI的四層模型主要工做就是對數據報文的切片和包裝。而網絡上的主機都必需要有一個IP地址,數據在發出時,TCP/IP協議根據當前IP及掩碼計算出當前主機和通訊主機是否在同一個網絡段,當兩主機不在同一網段時,這時就要經過路由器查找到下一個須要通過的網絡設備,也就是網關了,經過網關以及DNS服務器查找IP地址才能最終找到通訊主機。因此只有IP地址、網關、掩碼、路由及DNS服務器確認了,而且兩臺主機之間有一個暢通路線,兩主機之間才能正常通訊。網絡
IP地址一般分紅三類:tcp
A類:第一位爲網絡位,後三位爲主機位 | B類:前二位爲網絡位,後二位爲主機位 | C類:前三位爲網絡位,後一位爲主機位 |
1-126個網絡ide 容納的主機數:2^24-2工具 默認掩碼:255.0.0.0測試 網絡地址:1.0.0.0ui 廣播地址:126.255.255.255spa IP地址範圍:1.0.0.1 ~ 126.255.255.2543d 127.0.0.1是環回測試用的固定的特殊IPrest 10.0.0.0到10.255.255.255是私有地址 |
128-191個網絡 容納的主機數:2^16-2 默認掩碼:255.255.0.0 網絡地址:128.0.0.0 廣播地址:191.255.255.255 IP地址範圍:128.0.0.1到191.255.255.254 172.16.0.0到172.31.255.255是私有地址 169.254.0.0到169.254.255.255是保留地址 |
192-223個網絡 容納的主機數:2^8-2 默認掩碼:255.255.255.0 網絡地址:192.0.0.0 廣播地址:223.255.255.255 IP地址範圍:192.0.0.1 到 223.255.255.254 192.168.0.0到192.168.255.255是私有地址 |
2、Linux網絡配置
配置網絡前首先在確保主機網卡可以被系統識別。給Linux主機配置網絡分兩種方式:一是使用命令配置,配置好後當即生效,但系統開機後一切又會還原;二是經過配置文件,配置好後須要重啓服務生效,但從這之後永久有效。
一、經過命令配置網絡
(1)、使用ifconfig命令給系統配置IP地址
使用ifconfig命令有兩種方式配置IP地址,一是:
ifconfig eth0 172.16.251.48 netmask 255.255.0.0
二是,使用短格式的掩碼
ifconfig eth0 172.16.251.48/16
(1.1)、添加多個網絡地址
ifconfig eth0:0 192.168.2.24/24
(2)、使用route命令配置路由
(2.1)、顯示路由
route # 顯示路由信息 route -n # 使用數字格式顯示,不反解地址到主機名
各字段說名:
Destination | Gateway | Genmask | Flags | Metric | Iface |
||
目標網絡段的網絡地址 |
網關/下一跳(0.0.0.0爲任意地址即沒有網關) | 掩碼 | U:啓用狀態 G:默認網關 H:主機路由 |
度量值,到達目標網絡須要通過的跳數 | 經過哪一個設備可以到達目標網絡 |
(2.2)、添加路由
route add -host 主機地址/掩碼 gw 下一跳 [dev Device] #添加主機地址做爲路由 route add -net 網絡地址 gw 下一跳 [dev Device] #添加網絡地址做爲路由
注意,當前主機IP地址必需要和下一跳在同一網段。
添加一個網絡路由,網絡IP爲192.168.0.0,下一跳爲172.16.2.10
route add -net 192.168.0.0/24 gw 172.16.2.10
添加一個主機路由,主機IP爲192.168.3.20,下一跳爲172.16.123.110,主機地址不用指定掩碼
添加默認路由的兩種方法:
route add -net 0.0.0.0 gw 172.16.23.12
route add default gw 172.16.23.12
(2.3)、刪除路由
刪除網絡路由
route del -net 192.168.0.0/24
刪除主機路由
route del -host 192.168.3.20
刪除默認路由
route del default
(3)、使用ip命令
ifconfig命令和route命令相對來講是比較老的命令,ip命令是一個能夠代替ifconfig和route的命令,也能夠實現配置IP、配置路由的功能。
ip命令經常使用的三個功能
ip link # 顯示與配置網絡設備相關信息 ip addr # 顯示與配置IP信息 ip route # 顯示與配置路由信息
(3.1)、ip link
命令格式
ip [-s] link show <== 單純的查閱該裝置相關的信息 ip link set [device] [動做與參數] 相關動做參數 up|down :啓動 (up) 或關閉 (down) 某個接口,其餘參數使用默認的以太網絡; address :若是這個裝置能夠更改 MAC 的話,用這個參數修改! name :給予這個裝置一個特殊的名字; mtu :就是最大傳輸單元啊!
顯示全部網絡設備的信息
ip link show
顯示指定網卡的詳細信息
ip -s link show eth0
關閉指定網卡
ip link set eth0 down
開啓指定網卡
ip link set eth0 up
設定網卡MTU值
ip link set eth0 mtu 1000
修改網卡名字,修改前請先關閉網卡,修更名字儘可能少用,若是是測試修改完後請記得改回去
ip link set eth0 name wubinary
修改網卡MAC地址,若是是測試修改完後記得改回去
ip link set eth0 address aa:aa:aa:aa:aa:aa
(3.2)、ip addr
命令格式
ip addr show # 顯示 IP 參數 ip addr [add|del] [IP參數] [dev 網卡] [相關參數]
顯示全部設備的IP信息
ip addr show
添加多個IP地址
ip addr add 192.168.3.5/24 dev eth0
刪除指定IP
ip addr del 192.168.2.24/24 dev eth0:0
刷新網卡信息
ip addr flush eth0
(3.3)、ip route
命令格式
ip route show # 顯示路由配置 ip route [add|del] [IP或網域] [via gateway] [dev 設備] show :單純的顯示出路由表,也可使用 list ; add|del :添加 (add) 或刪除 (del) 路由的意思。 IP或網域:可以使用 192.168.50.0/24 之類的網域或者是單純的 IP ; via :從那個 gateway 出去,不必定須要; dev :由那個設備連出去,這就須要了
查看路由信息
ip route show
添加路由
ip route add 192.168.3.5/24 dev eth0 # 沒有網關 ip route add 192.168.3.5/24 via 192.168.20.1 dev eth0 # 有網關
刪除路由
ip route del 192.168.3.5
(4)、使用GUI/TUI界面配置網絡
使用命令調出GUI/TUI界面
TUI system-config-network-tui 或 setup GUI system-config-network-gui # 使用界面配置網絡信息,配置完成後,信息將保存至配置文件中
例如:使用setup命令
二、經過配置文件配置網絡
CentOS6.4的網絡配置文件爲
IP信息配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0 路由信息配置文件 /etc/sysconfig/network-scripts/ruote-eth0 dns信息配置 /etc/resolv.conf
ifcfg-eth0配置文件各字段說明:
DEVICE=eth0
此配置關聯至的設備,設備名要與文件名ifcfg-後的內容保持一致
BOOTPROTE=none
引導協議:{none|static|dhcp|bootp(引導協議)}
HWADDR=00:0c:29:96:c5:24
MAC地址:要與真實MAC地址保持一致;可省略;
NM_CONTROLLED=yes
是否接受NetworkManager腳本控制:{yes|no}
ONBOOT=yes
是否開機自動啓動此網絡設備,{yes|no}
TYPE=Ethernet
設備類型:Ethernet,Bridge(首字母大寫)
UUID="2d225e7-232232-3435-44364566-dddf23"
惟一標識,可省
IPADDR=172.16.12.23
IP地址
NETMASK=255.255.0.0
掩碼
GATEWAY=172.16.0.1
默認網關
DNS1=172.16.0.1
DNS服務地址
IPV6INIT=no
是否自動初始化IPv6協議地址
USERCTL=no
是否容許普通用戶啓用或禁用此網絡設備
PEERDNS={yes|no}
是否容許DHCP服務分配地址時直接更新/etc/resolv.conf中的DNS服務器地址;
route-eth0配置文件說明
配置文件的格式1:每行一個要配置的路由條目
DEST via NEXT_HOP
配置文件的格式2:每一組一個路由條目,每組條目編號後用空行分開
ADDRESS#=DEST
NETMASK#=NETMASK
GATEWAY#=Gateway
DNS配置文件說明
可連續指定三個:最多三個
nameserver DNS_SERVER_IP
修改完配置文件後須要從新啓動網絡服務
service network restart
3、Linux網絡管理
一、網絡連通性判斷
ping命令,判斷某個IP地址是否能夠遠程通訊
ping: 基於ICNP協議,互聯網控制報文協議 ping [options] IP -c #: 指定所請求的次數 -w deadline: 測試執行時長,無論成功與否,到了時間就結束
mtr命令,網絡連通性判斷工具
mtr -h提供幫助命令 mtr -v顯示mtr的版本信息 mtr -r已報告模式顯示
traceroute命令,獲取從當前主機到達目標主機全部通過的網關
traceroute HOST
二、查看主機網絡鏈接狀態
netstat命令
-t: tcp協議的鏈接 -u: udp協議的鏈接 -l: 監聽狀態的鏈接 -a: 全部狀態 -p: 鏈接相關的進程 -n: 數字格式顯示 -r: 顯示路由表,相似於route或ip route show
經常使用組合:
netstat -tan # tcp狀態的鏈接數字顯示
netstat -tunl # 顯示tcp udp監聽狀態的進程而且以數字顯示
netstat -rn # 相似於 ip route show
netstat命令是一個古老的命令,Linux上有一個ss命令能夠徹底代替netstat命令
ss命令
-t: tcp -u: udp -a: 相關協議的全部鏈接 -l: 監聽狀態的套接字 -e: 顯示擴展信息 -m: 顯示套接鏈接使用的內存信息 -p: 進程及PID -n: 數字格式地址及端口 -o state {established}: 指定狀態顯示
兩個命令用法類似