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