本章Blog相關Linux知識點服務器
CSMA/CD(Carrier Sense Multiple Access with Collision Detection)基帶衝突檢測的載波監聽多路訪問技術(載波監聽多點接入/碰撞檢測),是一種爭用型的介質訪問控制協議,主要應用於總線Ethernet中。它的工做原理是: 發送數據前 ,先偵聽信道是否空閒 ,若空閒,則當即發送數據。若信道忙碌,則等待一段時間至信道中的信息傳輸結束後再發送數據;在上一段信息發送結束後,同時有兩個或兩個以上的節點都提出發送請求,則斷定爲衝突。若偵聽到衝突,則當即中止發送數據,等待一段隨機時間,再從新嘗試。網絡
衝突域:在同一個衝突域中的每個節點都能收到全部被髮送的幀。如hub的全部接口處於一個衝突域內
廣播域:網絡中能接收任一設備發出的廣播幀的全部設備的集合。如交換機的每個接口爲一個衝突域,全部接口處於同一個廣播域內;路由器的每個接口爲一個廣播域 ,故路由器起隔離廣播域的功能。
tcp
ip地址分類 : 私有ip地址ide
A:0.0.0.0-127.255.255.255 10.0.0.0-10.255.255.255工具
B:128.0.0.0-191.255.255.255 172.16.0.0-172.31.255.255oop
C:192.0.0.0-223.255.255.255 192.168.0.0-192.168.255.255測試
配置主機接入TCP/IP網絡:配置IP/MASK ;配置路由 ;配置DNS;配置主機名spa
一、動態指定 ,ip ,ifconfig ,route
rest
二、動態分配 ,DHCP服務器server
三、靜態指定,配置目錄/etc/sysconfig/network-scripts/中的ifcfg-eth0 文件
網絡設備如何表示:
內核識別設備:驅動
設備:別名
以太網設備: ethx
ppp設備:pppX
本地迴環接口:lo
網絡配置命令ip link,ip route ,ip addr ,route ,ifconfig
用戶空間工具: # ip link ,# ip route , # ip addr , # route , # ifconfig ,這些命令配置網絡信息可當即生效,但重啓後配置將失效
# ifconfig (# ip addr , # ip link )顯示全部活動網口的狀態信息
-a 顯示全部網絡端口信息(包含被禁用掉的端口)
Interface :僅顯示指定接口的相關信息
Interface Address/mask 配置接口ip地址
Interface Address netmask MASK
DNS服務器指向 :/etc/resolv.conf
格式:nameserver DNS_server_ip
例:# vi /etc/resolv.conf
nameserver 8.8.8.8
# route 顯示路由信息
-n 使用數字格式顯示,不反解析地址到主機名
add [-host|-net] Address/MASK gw Next_hop dev Device : 添加主機或網絡路由,網關地址爲Next_hop,從接口Device發出數據
del [-host|-net] Address/MASK :刪除主機或網絡路由
add -net default gw Next_hop dev Device : 添加默認路由
del -net 0.0.0.0/0 : 刪除默認路由
# ip link 網絡設備屬性配置
set [dev] NAME [up |down] [multicast on | multicast off] :配置網絡設備屬性
show :顯示網絡設備信息
# ip addr 能夠在一個接口上配置多個地址而不使用接口別名,顯示這些地址:配置ip地址
add dev Interface Address/Mask label ethx:y :增長接口ethx:y 的ip地址
del dev Interface Address/Mask : 刪除接口ethx:y 的ip地址
show :顯示網絡接口信息
flush dev Device:取消接口的ip地址
# ip route 配置網絡路由信息
add Destnation via Next_top dev Device
del Destnation :刪除路由信息
show :顯示路由信息
啓用/禁用接口,使用下列命令實現:
# ip link set Interface [on |off ]
# ifconfig Interface [on |off ]
# ifup Interface ,# ifdown Interface
如何實如今單個接口配置多個ip地址,經過網絡接口別名來實現: ethx:y ,如eth0:1 ,eth0:2
配置1:# ifconfig ethx:y Interface/mask 例: # ifconfig eth0:1 192.168.4.160/24
[root@bogon ~]# ifconfig eth0:0 192.168.4.160/24 [root@bogon ~]# ifconfig eth0:1 192.168.4.170 netmask 255.255.255.0 [root@bogon ~]# ifconfig eth0 Link encap:Ethernet HWaddr 08:00:27:5E:85:58 inet addr:192.168.23.110 Bcast:192.168.23.255 Mask:255.255.255.0 inet6 addr: fe80::a00:27ff:fe5e:8558/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:99 errors:0 dropped:0 overruns:0 frame:0 TX packets:80 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:11790 (11.5 KiB) TX bytes:10767 (10.5 KiB) eth0:0 Link encap:Ethernet HWaddr 08:00:27:5E:85:58 inet addr:192.168.4.160 Bcast:192.168.4.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 eth0:1 Link encap:Ethernet HWaddr 08:00:27:5E:85:58 inet addr:192.168.4.170 Bcast:192.168.4.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) [root@bogon ~]# vi /etc/resolv.conf ; generated by /sbin/dhclient-script search itwish.cn nameserver 10.50.0.10 nameserver 10.99.10.2 ~ [root@bogon ~]# ip link show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 08:00:27:5e:85:58 brd ff:ff:ff:ff:ff:ff [root@bogon ~]# ip link set dev eth0 multicast off [root@bogon ~]# ip link show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <BROADCAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 08:00:27:5e:85:58 brd ff:ff:ff:ff:ff:ff [root@bogon ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.23.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.4.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0 0.0.0.0 192.168.23.254 0.0.0.0 UG 0 0 0 eth0 [root@bogon ~]# route add -host 192.168.3.150 gw 192.168.4.1 dev eth0 [root@bogon ~]# route add -net 192.168.2.0/23 gw 192.168.4.1 dev eth0 [root@bogon ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.3.150 192.168.4.1 255.255.255.255 UGH 0 0 0 eth0 192.168.23.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.4.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.2.0 192.168.4.1 255.255.254.0 UG 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0 0.0.0.0 192.168.23.254 0.0.0.0 UG 0 0 0 eth0 [root@bogon ~]# route del -host 192.168.3.150 gw 192.168.4.1 dev eth0 [root@bogon ~]# route del -net 192.168.2.0/23 gw 192.168.4.1 dev eth0 [root@bogon ~]# route del -net default gw 192.168.23.254 dev eth0 [root@bogon ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.23.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0 [root@bogon ~]# route add -net default gw 192.168.23.254 dev eth0 [root@bogon ~]# ip addr show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 08:00:27:5e:85:58 brd ff:ff:ff:ff:ff:ff inet 192.168.23.110/24 brd 192.168.23.255 scope global eth0 inet6 fe80::a00:27ff:fe5e:8558/64 scope link valid_lft forever preferred_lft forever [root@bogon ~]# ip addr add dev eth0 192.168.4.190/24 label eth0:3 [root@bogon ~]# ip addr show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 08:00:27:5e:85:58 brd ff:ff:ff:ff:ff:ff inet 192.168.23.110/24 brd 192.168.23.255 scope global eth0 inet 192.168.4.190/24 scope global eth0:3 inet6 fe80::a00:27ff:fe5e:8558/64 scope link valid_lft forever preferred_lft forever [root@bogon ~]# ip addr del dev eth0 192.168.4.190/24 [root@bogon ~]# ip route add 192.168.2.0/24 via 192.168.4.1 dev eth0 RTNETLINK answers: No such process [root@bogon ~]# ip route add 192.168.2.0/24 via 192.168.23.254 dev eth0 [root@bogon ~]# ip route show 192.168.23.0/24 dev eth0 proto kernel scope link src 192.168.23.110 192.168.2.0/24 via 192.168.23.254 dev eth0 169.254.0.0/16 dev eth0 scope link metric 1002 default via 192.168.23.254 dev eth0 [root@bogon ~]# ip route del 192.168.2.0/24 [root@bogon ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.23.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0 0.0.0.0 192.168.23.254 0.0.0.0 UG 0 0 0 eth0
網絡服務配置服務腳本
Centos 6腳本目錄: /etc/rc.d/ini.td/ 或者 /etc/init.d/
服務腳本: SysV ,style ,LSB
控制運行在後臺守護進程,接受參數 {start|stop|restart|status}
腳本位置: /etc/rc.d/init.d/ 或者 /etc/init.d/
配置某服務開機自動啓動:# chkconfig Src_script_name on
禁止開機自動啓動:# chkconfig Src_script_name off
查看開機啓動的進程: # chkconfig --list
調用機制:
一、/etc/init.d/Script_name {start|stop|restart|status}
二、service Script_name {start|stop|restart|status}
與網絡設備相關的服務控制腳本
它們一般可以讀取爲網絡配置的配置文件,以之實現其配置生效或失效等管理功能
配置文件有兩類(/etc/sysconfig/network-scripts/)
配置ip、掩碼、網關: ifcfg-ethx ;ifcfg-pppx
配置路由:route-ethx;route-pppx
配置ip:/etc/sysconfig/network-scripts/ifcfg-ethx
配置ip、掩碼、網關:ifcfg-ethx
[root@bogon ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 # 指定設備,此配置關聯至設備 ,設備名要與文件名ifcfg-後的內容一致
HWADDR=00:0C:29:64:48:F5 # MAC地址,要與真實MAC地址保持一致,可省略
TYPE=Ethernet # 設備類型:Ethernet ,Bridge ,PPP
UUID=126fc358-718b-4364-84dc-50506fc6dd82 #惟一標示,可省略
ONBOOT=yes # 是否開機自動啓用 {yes|no}
NM_CONTROLLED=yes # 是否接受NetworkManager 腳本控制 {yes|no}
BOOTPROTO=static # 配置引導協議 ,{none|static} 手動配置 ,dhcp 動態獲取協議 ,bootp 引導協議,如無盤工做站
IPADDR=192.168.4.150 # ip地址
GATEWAY=192.168.4.1 # 網關
DNS1=221.130.33.60 # dns服務器地址
DNS2=221.130.33.52
NETMASK=255.255.255.0 # 子網掩碼
IPV6INIT=no # 是否自動初始化IPv6協議地址
USERCTL=no # 是否容許普通用戶啓用或禁用此網絡設備
PEERDNS={yes|no} # 是否容許dhcp服務分配地址時直接更新/etc/resolv.conf中的dns服務器地址
配置路由:/etc/sysconfig/network-scripts/route-ethx
配置文件的格式1,每行一個要配置的路由條目:Dest via Next_hop
配置文件格式2,每一組一個路由條目:
ADDRESS#=Dest
NETMASK#=Netmask
GATEWAY#=Gateway
[root@bogon ~]# vi /etc/sysconfig/network-scripts/route-eth0 192.168.2.0/24 via 192.168.4.1 192.168.10.0/24 via 192.168.4.1 [root@bogon ~]# service network restart Shutting down interface eth0: [ OK ] Shutting down loopback interface: [ OK ] Bringing up loopback interface: [ OK ] Bringing up interface eth0: Determining if ip address 192.168.23.110 is already in use for device eth0... [ OK ] [root@bogon ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.23.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.2.0 192.168.23.254 255.255.255.0 UG 0 0 0 eth0 192.168.10.0 192.168.23.254 255.255.255.0 UG 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0 0.0.0.0 192.168.23.254 0.0.0.0 UG 0 0 0 eth0
如何實如今單接口上配置多個ip
配置2:經過配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0:1
DEVICE=ethx:y
BOOTPRO={none|static|dchp}
IPADDR=
ONBOOT=yes|no
GATEWAY=
USERCRL=yes|no
[root@bogon ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0:2 DEVICE=eth0:2 BOOTPRO=static ONBOOT=yes IPADDR=192.168.23.160 NETMASK=255.255.255.0 GATEWAY=192.168.23.254 DNS1=10.50.0.10 USERCRL=no PEERDNS=yes ~ [root@bogon ~]# service network restart Shutting down interface eth0: [ OK ] Shutting down loopback interface: [ OK ] Bringing up loopback interface: [ OK ] Bringing up interface eth0: Determining if ip address 192.168.23.110 is already in use for device eth0... Determining if ip address 192.168.23.160 is already in use for device eth0... [ OK ] [root@bogon ~]# ip link show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <BROADCAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 08:00:27:5e:85:58 brd ff:ff:ff:ff:ff:ff [root@bogon ~]# ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 08:00:27:5e:85:58 brd ff:ff:ff:ff:ff:ff inet 192.168.23.110/24 brd 192.168.23.255 scope global eth0 inet 192.168.23.160/24 brd 192.168.23.255 scope global secondary eth0:2 inet6 fe80::a00:27ff:fe5e:8558/64 scope link valid_lft forever preferred_lft forever
配置主機名:# hostname
配置文件: /etc/sysconfig/network 或者 /etc/hostname
[root@bogon ~]# hostname bogon [root@bogon ~]# vi /etc/sysconfig/network NETWORKING=yes HOSTNAME=bogon
網絡管理或檢測等相關的工具:
# yum install net-tools traceroute mtr 安裝網絡工具包
# ping [option] ip :測試網絡連通性,ICMP協議
-c n :次數 ,例# ping -c 3 192.168.4.1
-t n : 測試的執行時長,等待n秒未響應就退出
# traceroute HOST (首先安裝traceroute rpm包)檢測路由路徑
# mtr HOST (首先安裝mtr rpm包) 網絡診斷工具
# netstat 顯示網絡鏈接
-t :顯示tcp鏈接
-u:顯示udp鏈接
-n:數字格式顯示
-l:顯示listening監聽狀態網絡
-a:顯示全部
-p:顯示鏈接進程
-r:顯示路由表
經常使用組合:
-tan
-tunl
-rn
# ss命令選項與netstat選項相似
-t :顯示tcp鏈接
-u:顯示udp鏈接
-n:數字格式顯示
-l:顯示listening監聽狀態網絡
-a:顯示全部
-p:顯示鏈接進程
-e:顯示擴展信息
-o state {established}
# ethtool 查詢或控制網絡硬件
Interface :顯示設備接口屬性 例: # ethtool eth0
-S Interface : 顯示設備接口的統計數據 例; # ethtool -S eth0
本章blog知識點彙總
網絡配置命令:
# ifconfig (#ip addr ,#ip link)顯示全部活動網口的狀態信息
# ifconfig interface address netmask 爲某些接口配置多個ip地址
# route -n 以數字形式顯示路由條目
# route add [-host|-net] IP/Mask gw Next_hop dev Device 配置主機或網絡路由
# route add [-host|-net] IP/Mask 刪除主機或路由條目
# ip link set [dev] NAME [up |down] [multicast on | multicast off] 設置網絡接口狀態
# ip addr add dev Interface Address label ethx:y 某接口配置多個ip地址
# ip addr del dev Interface Address 刪除某接口ip地址
# ip addr flush Interface 清除接口ip地址信息
# ip route add DESTNATION [via Next_hop] [dev DEVICE] 配置路由
# ip route del DESTNATION 刪除路由條目
# ip [route | addr | link ] show 顯示路由或網絡接口信息
啓用接口命令:# ifconfig eth0 up ;# ip link set eth0 up ; # ifup eth0
禁用接口命令:# ifconfig eth0 down ;# ip link set eth0 down ;# ifdown eth0
DNS配置文件: /etc/resolv.conf
hostname 配置文件: /etc/hostname 或者 /etc/sysconfig/network
服務腳本目錄: /etc/init.d/ 或者 /etc/rc.d/init.d/
控制運行在後臺守護進程,接受參數 {start|stop|restart|status}
腳本位置: /etc/rc.d/init.d/ 或者 /etc/init.d/
配置某服務開機自動啓動:# chkconfig Src_script_name on
禁止開機自動啓動:# chkconfig Src_script_name off
查看開機啓動的進程: # chkconfig --list
網絡配置文件有兩類(目錄:/etc/sysconfig/network-scripts/)
配置網絡地址文件: /etc/sysconfig/network-scripts/ifcfg-ethx ;/etc/sysconfig/network-scripts/ifcfg-pppx
配置路由文件:/etc/sysconfig/network-scripts/route-ethx;/etc/sysconfig/network-scripts/route-pppx
# yum install net-tools traceroute mtr 安裝網絡工具包
# ping [option] ip :測試網絡連通性,ICMP協議
-c n :次數 ,例# ping -c 3 192.168.4.1
-t n : 測試的執行時長,等待n秒未響應就退出
# traceroute HOST (首先安裝traceroute rpm包)檢測路由路徑
# mtr HOST (首先安裝mtr rpm包) 網絡診斷工具
# netstat 顯示網絡鏈接
經常使用選項: -tunl ,-tan,-rn
# ethtool 查詢或控制網絡硬件
Interface :顯示設備接口屬性 例: # ethtool eth0
-S Interface : 顯示設備接口的統計數據 例; # ethtool -S eth0