網絡管理之基礎知識

Linux的網絡配置

IP地址

它們可唯一標識 IP 網絡中的每臺設備 ?

每臺主機(計算機、網絡設備、外圍設備)必須具有唯 一的地址 ?

IP地址由兩部分組成:

? 網絡ID:

? 標識網絡

? 每個網段分配一個網絡ID

? 主機 ID:

? 標識單個主機

? 由組織分配給各設備

 

IPv4地址格式:點分十進制記法

     IP地址是一個32位二進制 

示例:101011000001000010000000000010001

將32位轉化為八進制的使之可讀

示例:172.16.128.17

IP 地址分類

?A類: 0 000 0000 – 0 111 1111: 1-127

網絡數:126, 127

每個網絡中的主機數:2^24-2

默認子網掩碼:255.0.0.0

私網地址:10.0.0.0

 

B類: 10 00 0000 – 10 11 1111:128-191

網絡數:2^14

每個網絡中的主機數:2^16-2

默認子網掩碼:255.255.0.0

私網地址:172.16.0.0-172.31.0.0

 

C類: 110 0 0000 – 110 1 1111: 192-223

網絡數:2^21

每個網絡中的主機數:2^8-2

默認子網掩碼:255.255.255.0

私網地址:192.168.0.0-192.168.255.0

 

D類:組播

1110 0000 – 1110 1111: 224-239

 

E類: 240-255

 

公共IP地址

A類:1.0.0.0到9.255.255.255

      11.0.0.0到126.255.255.255

B類:128.0.0.0到172.15.255.255

      172.32.0.0到191.255.255.255

 

C類: 192.0.0.0到192.167.255.255

       192.169.0.0到223.255.255.255

 

私有IP地址

A類:10.0.0.0到10.255.255.255

 

B類:172.16.0.0到172.31.255.255

 

C類:192.168.0.0到192.168.255.255

 

特殊地址

?  0.0.0.0 0.0.0.0不是一個真正意義上的IP地址。它表示一個集合:所有不清楚的主 機和目的網絡。 ?

255.255.255.255

限制廣播地址。對本機來說,這個地址指本網段內(同一廣播域)的所有主機 ?

127.0.0.1~127.255.255.254

本機回環地址,主要用于測試。在傳輸介質上永遠不應該出現目的地址為 “127.0.0.1”的 數據包。 ?

224.0.0.0到239.255.255.255

組播地址,224.0.0.1特指所有主機,224.0.0.2特指所有路由器。 224.0.0.5指OSPF 路由器,地址多用于一些特定的程序以及多媒體程序 ?

169.254.x.x

如果Windows主機使用了DHCP自動分配IP地址,而又無法從DHCP服務器獲 取地址,系統會為主機分配這樣地址。

 

保留地址:

網絡地址  000000000000000000000000

廣播地址  111111111111111111111111

 

跨網絡通信

跨網絡通信:路由 ?

路由分類:

主機路由

網絡路由

默認路由 ?

優先級:精度越高,優先級越高

 

基本網絡配置

將Linux主機接入到網絡,需要配置網絡相關設置。 ?

一般包括如下內容:

主機名

IP/netmask

路由:默認網關

DNS服務器

主DNS服務器

次DNS服務器

第三DNS服務器

 

靜態網絡配置的命令:

    Ifcfg:ifconfig,route,netstat,

Ip:object{link,addr,route},ss,tc

System-config-network-tui(setup)

配置文件

IP、MASK、GW、DNS相關配置文件

CENTOS6/7: /etc/sysconfig/network-scripts/ifcfg-網卡名稱

DEVICE:此配置文件應用到的設備

HWADDR:對應的設備的MAC地址

ONBOOT:在系統引導時是否激活此設備 ?

TYPE:接口類型;常見有的Ethernet, Bridge ?

UUID:設備的惟一標識 ?

IPADDR:指明IP地址 ?

NETMASK:子網掩碼 ?

GATEWAY: 默認網關 ?

DNS1:第一個DNS服務器指向 ?

DNS2:第二個DNS服務器指向 ?

USERCTL:普通用戶是否可控制此設備 ?

PEERDNS:如果BOOTPROTO的值為“dhcp”,是否允許 dhcp server分配的dns服務器指向信息直接覆蓋至 /etc/resolv.conf文件中

 

BOOTPROTO:激活此設備時使用的地址配置協議,常 用的dhcp, static,none, bootp

 

路由相關的配置文件:

 /etc/sysconfig/network-scripts/route-IFACE

 

NM_CONTROLLED:NM是NetworkManager的簡寫, 此網卡是否接受NM控制;建議CentOS6為“no”

 

動態分配: DHCP: Dynamic Host Configuration Protocol

 

配置網絡接口

接口命名方式:CentOS 6:

以太網:eth[0,1,2,…]

ppp:ppp[0,1,2,…] ?

ifconfig命令

ifconfig [interface]

# ifconfig -a

# ifconfig IFACE [up|down]

ifconfig interface [aftype] options | address …

# ifconfig IFACE IP/netmask [up]

# ifconfig IFACE IP netmask NETMASK

注意:立即生效;

啟用混雜模式:[-]promisc

 

Route命令

路由管理命令

查看: route –n

添加:route add

刪除:route del

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

    目標::192.168.1.3  網關:172.16.0.1

# route add -host 192.168.1.3 gw 172.16.0.1 dev eth0

     目標:192.168.0.0 網關:172.16.0.1

# route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1 dev eth0

# route add -net 192.168.0.0/24 gw 172.16.0.1 dev eth0

刪除:route del

route del [-net|-host] target [gw Gw] [netmask Nm] [[dev] If] ? 目標:192.168.1.3  網關:172.16.0.1

# route del -host 192.168.1.3 ?

目標:192.168.0.0 網關:172.16.0.1

# route del -net 192.168.0.0 netmask 255.255.255.0

 

netstat命令 ?

netstat – Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships ?

顯示網絡連接: netstat [–tcp|-t] [–udp|-u] [–raw|-w] [-listening|-l] [–all|-a] [–numeric|-n] [–extend|-e[-extend|-e]]  [–program|-p]

-t: tcp協議相關

  -u: udp協議相關

-w: raw socket相關

-l: 處于監聽狀態

-a: 所有狀態

-n: 以數字顯示IP和端口;

-e:擴展格式

-p: 顯示相關進程及PID

常用組合:

-tan, -uan, -tnl, -unl

顯示路由表:

netstat {–route|-r} [–numeric|-n]

-r: 顯示內核路由表

-n: 數字格式

顯示接口統計數據:

netstat {–interfaces|-I|-i} [iface] [–all|-a] [-extend|-e] [–program|-p] [–numeric|-n]

# netstat –i

# netstat –I=IFACE

# ifconfig -s eno16777736

 

ip命令 ?

配置Linux網絡屬性:ip命令 ?

ip – show / manipulate routing, devices, policy routing and tunnels

ip [ OPTIONS ] OBJECT { COMMAND | help } OBJECT := { link | addr | route }

ip link – network device configuration

set dev IFACE

可設置屬性:

 up and down:激活或禁用指定接口

ifup/ifdown

show  [dev IFACE]:指定接口

[up]:僅顯示處于激活狀態的接口

ip addr { add | del } IFADDR dev STRING

[label LABEL]:添加地址時指明網卡別名

[scope {global|link|host}]:指明作用域

global: 全局可用

link: 僅鏈接可用

host: 本機可用

[broadcast ADDRESS]:指明廣播地址 ?

 ip address show – look at protocol addresses

[dev DEVICE]

[label PATTERN]

[primary and secondary] ?

ip address flush – 使用格式同show

ip addr add 172.16.100.100/16 dev eth0 label eth0:0

ip addr del 172.16.100.100/16 dev eth0 label eth0:0

ip addr flush dev eth0 label eth0:0

ip route – routing table management

添加路由:ip route add

ip route add TARGET via GW dev IFACE src SOURCE_IP

 TARGET:

主機路由:

IP 網絡路由:NETWORK/MASK

ip route add 192.168.0.0/24 via 172.16.0.1

ip route add 192.168.1.13 via 172.16.0.1

 添加網關:ip route add default via GW dev IFACE

 ip route add  default via 172.16.0.1

刪除路由:ip route delete

ip route del TARGET

顯示路由:ip route show|list

清空路由表:ip route flush [dev IFACE] [via PREFIX] ip route flush dev eth0

 

ss命令 ?

格式:ss [OPTION]… [FILTER] ?

netstat通過遍歷proc來獲取socket信息,ss使用netlink與內核tcp_diag 模塊通信獲取socket信息。 ?

選項:

  -t: tcp協議相關

-u: udp協議相關

-w: 裸套接字相關

-x:unix sock相關

-l: listen狀態的連接

-a: 所有

-n: 數字格式

-p: 相關的程序及PID

-e: 擴展的信息

-m:內存用量

-o:計時器信息

常用組合: -tan, -tanl, -tanlp, -uan

常見用法

?  ss -l 顯示本地打開的所有端口 ?

ss -pl 顯示每個進程具體打開的socket ?

ss -t -a 顯示所有tcp socket ?

ss -u -a 顯示所有的UDP Socekt ?

ss -o state established '( dport = :ssh or sport = :ssh )' 顯 示所有已建立的ssh連接 ?

ss -o state established '( dport = :http or sport = :http )' 顯示所有已建立的HTTP連接 ?

ss -s 列出當前socket詳細信息:

 

設備別名

? 為每個設備別名生成獨立的接口配置文件

  ? 關閉NetworkManager服務

? ifcfg-ethX:xxx

? 必須使用靜態聯網

  DEVICE=eth0:0

IPADDR=10.10.10.10

NETMASK=255.0.0.0

ONPARENT=yes ?

注意:service network restart 生效 ?

參考/usr/share/doc/initscripts-*/sysconfig.txt

Linux網絡屬性配置的tui(text user interface):

system-config-network-tui

setup

注意:記得重啟網絡服務方能生效 ?

配置當前主機的主機名:

hostname [HOSTNAME]

/etc/sysconfig/network

HOSTNAME=

 

網卡名稱

? 網絡接口識別并命名相關的udev配置文件:

 /etc/udev/rules.d/70-persistent-net.rules

查看網卡:

dmesg |grep –i eth

ethtool -i eth0

卸載網卡驅動:

modprobe -r e1000

rmmod e1000

裝載網卡驅動:

modprobe e1000

 

網絡接口配置-bonding

? Bonding 就是將多塊網卡綁定同一IP地址對外提供服務,可以實現高 可用或者負載均衡。當然,直接給兩塊網卡設置同一IP地址 是不可能的。通過bonding,虛擬一塊網卡對外提供連接, 物理網卡的被修改為相同的MAC地址。

Bonding的工作模式

? Mode 0 (balance-rr) 輪轉(Round-robin)策略:從頭到尾順序的在每一個slave 接口上面發送數據包。本模式提供負載均衡和容錯的能力 ? Mode 1 (active-backup) 活動-備份(主備)策略:在綁定中,只有一個slave被激活。 當且僅當活動的slave接口失敗時才會激活其他slave。為了 避免交換機發生混亂此時綁定的MAC地址只有一個外部端口上 可見 ? Mode 3 (broadcast) 廣播策略:在所有的slave接口上傳送所有的報文。本模式提供 容錯能力。

Bonding配置 ?

創建bonding設備的配置文件

?/etc/sysconfig/network-scripts/ifcfg-bond0

DEVICE=bond0

BOOTPROTO=none

BONDING_OPTS= “miimon=100  mode=0” ?/etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

  BOOTPROTO=none

MASTER=bond0

SLAVE=yes

USERCTL=no ?

查看bond0狀態:/proc/net/bonding/bond0

miimon 是用來進行鏈路監測的。如果miimon=100,那 么系統每100ms 監測一次鏈路連接狀態,如果有一條線 路不通就轉入另一條線路 ?

刪除bond0

ifconfig bond0 down

rmmod bonding ?

詳細幫助參看:/usr/share/doc/kernel-docversion/Documentation/networking/bonding.txt

 

 

原創文章,作者:xiaoqiang512,如若轉載,請注明出處:http://www.www58058.com/44469

(0)
xiaoqiang512xiaoqiang512
上一篇 2016-09-10 05:08
下一篇 2016-09-10 08:14

相關推薦

  • 函數定義、使用

        1、函數介紹         函數function是由若干條shell命令組成的語句塊,實現代碼重用和模塊化編程。           &nb…

    Linux干貨 2016-08-22
  • 正則

    Edit 正則 概述: 正則表達式,Regular Expression,縮寫regex、regexp、RE 正則表達式是文本處理極為重要的技術,用它可以對字符串按照某種規則進行檢索、替換 1970年,Unix之父ken Thompson將正則表達式引入到Unix中文本編輯器ed和grep命令中,由此正則表達式普及開來 1980年后,perl語言對Henry…

    Linux干貨 2017-11-06
  • 磁盤分區及初步文件系統

    磁盤分區 磁盤分區有兩種方式:     MBR, GPT      MBR: Master Boot Record,1982年,使用32位表示扇區數 ,分區不超過2T      分區時按柱面…

    Linux干貨 2016-08-30
  • 壓縮和歸檔——釋放你的磁盤空間

    壓縮和解壓縮工具 壓縮比:文件壓縮比就是指文件經過壓縮后的文件大小與源文件大小的一個比差,經過壓縮工具包可以把文件壓縮 壓縮的目的:      時間換空間      CPU時間換硬盤的空間 壓縮工具: compress/uncompress 以.Z作為文件后綴 gzip/gunz…

    Linux干貨 2016-08-18
  • 小工具(維基百科)

     維基百科  方法:復制C:\Windows\System32\drivers\etc到我的電腦地址欄               打開hosts,選擇文本文檔方式打開              19…

    Linux干貨 2017-07-10
  • 操作系統—Systemd

    Systemd 概述:       CentOS 6和之前版本采用SysVinit的系統啟動進程管理體系,一般用戶都可通過在/etc/inittab文件的配置,來個性化自己的系統啟動序列。但也經常會由于特殊環境的硬件等關系問題,造成其串行的啟動進程控制流,因為可能任務的阻塞而影響啟動過程。     &nbsp…

    Linux干貨 2016-09-24
欧美性久久久久