Linux網絡配置及管理

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

wKiom1MWk-rC5cuJAAG5KyFy7Z4255.jpg

(2)、使用route命令配置路由
(2.1)、顯示路由

route # 顯示路由信息
route -n # 使用數字格式顯示,不反解地址到主機名

wKiom1MUhRGzeJ0UAADMKmcAtco363.jpg

各字段說名:

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

wKiom1MUijiyWdvpAAEQhjcxUzI389.jpg

添加一個主機路由,主機IP爲192.168.3.20,下一跳爲172.16.123.110,主機地址不用指定掩碼

wKiom1MUi7jwRiioAAEmr_OvW70015.jpg

添加默認路由的兩種方法:

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

wKioL1MUjU-yhTQdAADuHk1Uf0A517.jpg

刪除主機路由

route del -host 192.168.3.20

wKiom1MUjmfQhqEbAADmYKLGmKQ751.jpg

刪除默認路由

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

wKioL1MWjP3D_eVBAADQGqHpHgY734.jpg

顯示指定網卡的詳細信息

ip -s link show eth0

wKiom1MWjZzRklYGAADwSmTPgHg227.jpg

關閉指定網卡

ip link set eth0 down

wKioL1MWjjrQbKWWAACFAcxcpVA357.jpg

開啓指定網卡

ip link set eth0 up

wKiom1MWjpmgcUpkAAClEhybbBg074.jpg

設定網卡MTU值

ip link set eth0 mtu 1000

wKiom1MWjyXjV31KAACX5ULvIt8764.jpg

修改網卡名字,修改前請先關閉網卡,修更名字儘可能少用,若是是測試修改完後請記得改回去

ip link set eth0 name wubinary

wKioL1MWkGWR5VCfAADRMj1V8yQ364.jpg

修改網卡MAC地址,若是是測試修改完後記得改回去

ip link set eth0 address aa:aa:aa:aa:aa:aa

wKioL1MWkWWyswdRAACIVgHwtVY699.jpg


(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

wKioL1MWlWCB2ttgAAFoi-sazzc887.jpg

刪除指定IP

ip addr del 192.168.2.24/24 dev eth0:0

wKioL1MWlgrDcQndAAIqwB6zzTI242.jpg

刷新網卡信息

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

wKioL1MWmEizqM0bAABzGj879Hs478.jpg

添加路由

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 # 有網關

wKioL1MWmergXvVhAACUMJTjaAQ114.jpg

刪除路由

ip route del 192.168.3.5

wKioL1MWmkTh2Pi8AAChdDQxU2g023.jpg


(4)、使用GUI/TUI界面配置網絡

使用命令調出GUI/TUI界面

TUI
system-config-network-tui 或 setup
GUI
system-config-network-gui
# 使用界面配置網絡信息,配置完成後,信息將保存至配置文件中

例如:使用setup命令

wKiom1MWm2jj8WLeAAE6Nx2W3rI212.jpg


二、經過配置文件配置網絡

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: 測試執行時長,無論成功與否,到了時間就結束

wKiom1MWn-vg1pqyAAJEmXhY5Tg574.jpg

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

wKioL1MWoRmA4lXAAAJ1TiTr8IQ228.jpg


netstat命令是一個古老的命令,Linux上有一個ss命令能夠徹底代替netstat命令

ss命令

-t: tcp
-u: udp
-a: 相關協議的全部鏈接
-l: 監聽狀態的套接字
-e: 顯示擴展信息
-m: 顯示套接鏈接使用的內存信息
-p: 進程及PID
-n: 數字格式地址及端口
-o state {established}: 指定狀態顯示

兩個命令用法類似

wKioL1MWoZPAi6WgAAG4pmNbMyk549.jpg

相關文章
相關標籤/搜索