久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Linux基礎(chǔ)

 華云天池 2022-05-19 發(fā)布于北京

講師_@王曉春

本章命令:ip ifconfig route nmcli ifup ifdown ss

網(wǎng)絡(luò)基礎(chǔ)

以下為個人簡單的筆記,,如需詳細(xì)了解網(wǎng)絡(luò)相關(guān)的知識,推薦計算機(jī)專業(yè)教材:《計算機(jī)網(wǎng)絡(luò)(第7版)-謝希仁》

OSI 模型

在這里插入圖片描述

沖突域和廣播域

在這里插入圖片描述

TCP/IP協(xié)議棧

在這里插入圖片描述

TCP的三次握手和四次揮手

在這里插入圖片描述

有限狀態(tài)機(jī)FSM注釋
CLOSED沒有任何連接狀態(tài)
LISTEN偵聽狀態(tài)
SYN-SENT在發(fā)送連接請求后,,等待對方確認(rèn)
SYN-RECEIVED在收到和發(fā)送一個連接請求后,,等待對方確認(rèn)
ESTABLISHED代表傳輸連接建立,雙方進(jìn)入數(shù)據(jù)傳送狀態(tài)
FIN-WAIT-1主動關(guān)閉,,主機(jī)已改善關(guān)閉連接請求,,掛靠對方確認(rèn)
FIN-WAIT-2主動關(guān)閉,,主機(jī)已收到對方關(guān)閉傳輸連接確認(rèn),等待對方發(fā)送關(guān)閉傳輸連接請求
TIME-WAIT完成雙向傳輸連接關(guān)閉,,等待所有分組消失
CLOSE-WAIT被動關(guān)閉,,收到對方發(fā)來的關(guān)閉連接請求,并已確認(rèn)
LAST-ACK被支關(guān)閉,,等待最后一個關(guān)閉傳輸連接確認(rèn),,并等待所有分組消失
CLOSING雙方同時嘗試關(guān)閉傳輸連接,等待對方確認(rèn)
  • TCP協(xié)議中相關(guān)的文件:
    /proc/sys/net/ipv4/tcp_max_orphans指定內(nèi)核能接管的孤兒連接數(shù)
    /proc/sys/net/ipv4/tcp_fin_timeout指定孤兒連接在內(nèi)核中的生存時間
    /proc/sys/net/ipv4/ip_local_port_range動態(tài)端口使用范圍
    /proc/sys/net/ipv4/tcp_max_syn_backlog 未完成連接隊列大小,,建議調(diào)整大小為1024以上
    /proc/sys/net/core/somaxconn 完成連接隊列大小,,建議調(diào)整大小為1024以上
    /proc/sys/net/ipv4/tcp_retries1 指定在底層IP接管之前TCP最少執(zhí)行的重傳次數(shù),默認(rèn)值是3
    /proc/sys/net/ipv4/tcp_retries2 指定連接放棄前TCP最多可以執(zhí)行的重傳次數(shù),,默認(rèn)值15(一般對應(yīng)13~30min)
    /proc/sys/net/ipv4/tcp_congestion_control 當(dāng)前所使用的擁塞控制算法

tcpdump 抓包工具

UDP

  • UDP包頭
    在這里插入圖片描述

Internet層協(xié)議

  1. IP協(xié)議
  2. ICMP協(xié)議
    /proc/sys/net/ipv4/icmp_echo_ignore_all 關(guān)閉ICMP回應(yīng)
  3. ARP協(xié)議
  4. RARP協(xié)議

基本網(wǎng)絡(luò)配置

  • 將Linux主機(jī)接入到網(wǎng)絡(luò),,需要配置網(wǎng)絡(luò)相關(guān)設(shè)置。一般包括如下內(nèi)容:
  1. 主機(jī)名(hostname)
  2. IP地址和子網(wǎng)掩碼(IP/netmask)
  3. 路由(默認(rèn)網(wǎng)關(guān)gateway)
  4. 主DNS服務(wù)器(dns)
  5. 次DNS服務(wù)器

CentOS 6 網(wǎng)卡名稱

  1. 以太網(wǎng):eth[0-9]
  2. ppp:ppp[0-9]
  • 網(wǎng)絡(luò)接口識別并命名相關(guān)的udev配置文件:
    /etc/udev/rules.d/70-persistent-net.rules

  • ARP表
    arp -n

命令:ethtool

  • 查看網(wǎng)卡驅(qū)動:
    dmesg |grep –i eth
    ethtool -i eth0

    • 卸載網(wǎng)卡驅(qū)動:
      modprobe -r e1000
      rmmod e1000
    • 裝載網(wǎng)卡驅(qū)動:
      modprobe e1000
  • 網(wǎng)絡(luò)配置方式

  1. 靜態(tài)指定:static 相關(guān)命令:ifconfig, route, netstat,ip, ss, tc
  2. 動態(tài)分配:DHCP
  3. 配置文件:/etc/sysconfig/network-scripts/ifcfg-<DEV>
  • mii-tool 查看/操作接口狀態(tài)

命令:ifconfig

#查看指定網(wǎng)卡狀態(tài)
ifconfig [interface]

#查看所有網(wǎng)卡狀態(tài)
ifconfig -a

#啟用/禁用網(wǎng)卡
ifconfig IFACE [up|down]
ifdown eth1 (禁用網(wǎng)絡(luò))
ifup eth1 (啟用網(wǎng)絡(luò))

#設(shè)置網(wǎng)卡IP
ifconfig IFACE IP/netmask [up]

命令:route

路由管理命令
查看:route -n
添加:route add
route add [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]

#目標(biāo):192.168.1.3 網(wǎng)關(guān):172.16.0.1
route add -host 192.168.1.3 gw 172.16.0.1 dev eth0

#目標(biāo):192.168.0.0 網(wǎng)關(guān):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

#默認(rèn)路由,,網(wǎng)關(guān):172.16.0.1
route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.0.1
route add default gw 172.16.0.1

#刪除:route del
route del [-net|-host] target [gw Gw] [netmask Nm] [[dev] If]

#目標(biāo):192.168.1.3 網(wǎng)關(guān):172.16.0.1
route del -host 192.168.1.3

#目標(biāo):192.168.0.0 網(wǎng)關(guān):172.16.0.1
route del -net 192.168.0.0 netmask 255.255.255.0
  • 配置動態(tài)路由
    通過守護(hù)進(jìn)程獲取動態(tài)路由
    ·安裝quagga包
    ·支持多種路由協(xié)議:RIP,、OSPF和BGP
    ·命令vtysh配置

命令:netstat

  • 顯示網(wǎng)絡(luò)連接:
    netstat [--tcp|-t] [--udp|-u] [--raw|-w] [--listening|-l] [--all|-a] [--numeric|-n] [--extend|-e]] [--program|-p]
[OPTION]注釋
-ttcp協(xié)議相關(guān)
-uudp協(xié)議相關(guān)
-wraw socket相關(guān)
-l處于監(jiān)聽狀態(tài)
-a所有狀態(tài)
-n以數(shù)字顯示IP和端口
-e擴(kuò)展格式
-p顯示相關(guān)進(jìn)程及PID
  • 常用組合:
    -tan, -uan, -tnl, -unl
  • 顯示路由表:
    netstat {–route|-r} [–numeric|-n]
    -r: 顯示內(nèi)核路由表
    -n: 數(shù)字格式
  • 顯示接口統(tǒng)計數(shù)據(jù):
    netstat {–interfaces|-I|-i} [iface] [–all|-a] [–extend|-e] [–program|-p] [–numeric|-n]
    netstat -i
    netstat –I=IFACE
    ifconfig -s eth0

命令:ip

配置Linux網(wǎng)絡(luò)屬性:ip 命令(顯示、操作路由,,設(shè)備,,路由策略和隧道)

ip [ OPTIONS ] OBJECT { COMMAND | help }

OBJECT ={ link | address | addrlabel | route | rule | neigh | 
		ntable | tunnel | tuntap | maddress | mroute | mrule |
		 monitor | xfrm | netns | l2tp | tcp_metrics | token | macsec }

 OPTIONS := { -V[ersion] | -s[tatistics] | -d[etails] | -r[esolve] |
            -h[uman-readable] | -iec |
            -f[amily] { inet | inet6 | ipx | dnet | mpls | bridge | link }|
            -4 | -6 | -I | -D | -B | -0 |
            -l[oops] { maximum-addr-flush-attempts } | -br[ief] |
            -o[neline] | -t[imestamp] | -ts[hort] | -b[atch] [filename] |
            -rc[vbuf] [size] | -n[etns] name | -a[ll] | -c[olor]}

命令的使用

ip link - 網(wǎng)卡配置
	set dev/IFACE
		up and down:激活或禁用指定接口(也可以ifup/ifdown)
		name NETNAME(修改網(wǎng)卡名)
	show [dev IFACE]:指定接口

ip addr - IP地址配置
	add/del IP/mask dev DEVICE   (添加/刪除IP)
		[scope {global|link|host}] - 指明作用域(全局/僅鏈接/本機(jī))
		[label LABEL] - 指明網(wǎng)卡別名
		[broadcast ADDRESS]:指明廣播地址
	show - 查看網(wǎng)絡(luò)
		[dev DEVICE]
		[label PATTERN]
		[primary and secondary]
	flush - 刷新網(wǎng)卡,使用格式同show
ip route - 路由配置
	add/del NET/MASK via GATEWAY_IP [dev IFACE] [src SOURCE_IP]
		default - 默認(rèn)路由
	flush [dev IFACE] [via GATEWAY_IP] - 清空路由表
	show/list - 顯示路由

命令:ss

ss [OPTION]... [FILTER]
netstat通過遍歷proc來獲取socket信息,,ss使用netlink與內(nèi)核tcp_diag模塊通信獲取socket信息

[OPTION]注釋
-ttcp協(xié)議相關(guān)
-uudp協(xié)議相關(guān)
-w裸套接字相關(guān)
-xunix sock相關(guān)
-llisten狀態(tài)的連接
-a所有
-n數(shù)字格式
-p相關(guān)的程序及PID
-e擴(kuò)展的信息
-m內(nèi)存用量
-o計時器信息

FILTER : [ state TCP-STATE ] [ EXPRESSION ]

  • 常用選項組合:
    -tan, -tanl, -tanlp, -uan
  • 常見用法
# 顯示本地打開的所有端口
ss -l 

# 顯示每個進(jìn)程具體打開的socket
ss -pl

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

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

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

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

#列出當(dāng)前socket詳細(xì)信息
ss -s 

網(wǎng)卡配置

  1. 路由配置文件:/etc/sysconfig/network-scripts/route-ens33
·注意:需service network restart生效
·兩種風(fēng)格:
(1) TARGET via GW
如:10.0.0.0/8 via 172.16.0.1`
(2) 每三行定義一條路由
ADDRESS#=TARGET
NETMASK#=mask
GATEWAY#=GW
  1. 主機(jī)名配置文件:/etc/sysconfig/network

  2. 配置文件幫助文檔:/usr/share/doc/initcripts-*/sysconfig.txt

  3. 網(wǎng)卡配置文件:/etc/sysconfig/network-scripts/ifcfg-ens33

網(wǎng)卡配置文件格式:

TYPE:接口類型,;常見有的Ethernet, Bridge
DEVICE:此配置文件應(yīng)用到的設(shè)備
HWADDR:對應(yīng)的設(shè)備的MAC地址
BOOTPROTO:激活此設(shè)備時使用的地址配置協(xié)議,常用的dhcp, static, none, bootp
NM_CONTROLLED:NM是NetworkManager的簡寫,,此網(wǎng)卡是否接受NM控制,;建議CentOS6為“no”
網(wǎng)絡(luò)配置文件
ONBOOT:在系統(tǒng)引導(dǎo)時是否激活此設(shè)備
UUID:設(shè)備的惟一標(biāo)識
IPADDR:指明IP地址
PREFIX:子網(wǎng)掩碼
NETMASK:子網(wǎng)掩碼
GATEWAY: 默認(rèn)網(wǎng)關(guān)
DNS1:第一個DNS服務(wù)器指向
DNS2:第二個DNS服務(wù)器指向
USERCTL:普通用戶是否可控制此設(shè)備
PEERDNS:如果BOOTPROTO的值為“dhcp”,YES將允許dhcp server分配的dns服務(wù)器信息直接覆蓋至/etc/resolv.conf文件,,NO不允許修改resolv.conf
配置范例
動態(tài)配置靜態(tài)配置
DEVICE=eth#
HWADDR=00:11:22:33:44:55
BOOTPROTO=dhcp
ONBOOT=yes
TYPE=Ethernet
DEVICE=eth#
HWADDR=00:11:22:33:44:55
IPADDR=192.168.1.1
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
ONBOOT=yes
TYPE=Ethernet
  • DNS
    本地地址解析:/etc/hosts
    DNS域名解析:/etc/resolv.conf
    域名服務(wù)切換配置文件:/etc/nsswitch.conf

  • 相關(guān)命令:
    dig -t A NAME
    dig -x IP
    host -t A NAME
    host -t PTR IP

  • 網(wǎng)卡別名
    ifconfig eth0:0 192.168.0.1/24 up
    ifconfig eth0:0 down
    ip addr add 192.168.0.1/24 dev eth0 label eth0:0
    ip addr del 192.168.0.1/24 dev eth0 label eth0:0
    ip addr flush dev eth0 label eth0:0

為每個網(wǎng)卡別名生成配置文件(ifcfg-eth#:#)

#只能使用靜態(tài)ip
DEVICE=eth0:0
IPADDR=192.168.0.1
NETMASK=255.255.255.0
ONPARENT=yes
  • 網(wǎng)卡名稱
    基于BIOS支持啟用biosdevname軟件
    內(nèi)置網(wǎng)卡:em1,em2
    pci卡:pYpX Y:slot ,X:port
    (2) 名稱組成格式
    en: Ethernet 有線局域網(wǎng)
    wl: wlan 無線局域網(wǎng)
    ww: wwan無線廣域網(wǎng)

  • 名稱類型:
    o<index>: 集成設(shè)備的設(shè)備索引號
    s<slot>: 擴(kuò)展槽的索引號
    x<MAC>: 基于MAC地址的命名
    p<bus>s<slot>: enp2s1

  • 傳統(tǒng)命名方式(修改成eth0)

    1. 修改文件/etc/default/grub
      GRUB_CMDLINE_LINUX=“rhgb quiet net.ifnames=0”
    2. 執(zhí)行命令:grub2-mkconfig -o /etc/grub2.cfg
  • 主機(jī)名:
    設(shè)置主機(jī)名:hostnamectl set-hostname centos
    顯示主機(jī)名:hostname

  • 其它工具:
    圖形工具:nm-connection-editor
    字符工具:nmtui
    命令行工具:nmcli

Bonding 工作模式

  1. Mode 0 (balance-rr)
    輪轉(zhuǎn)(Round-robin)策略:本模式提供負(fù)載均衡和容錯的能力
  2. Mode 1 (active-backup)
    活動-備份(主備)策略:只有一個slave被激活,,當(dāng)且僅當(dāng)活動的slave接口失敗時才會激活其他slave.
  3. Mode 2 (balance-xor)
    平衡策略:基于指定的傳輸HASH策略傳輸數(shù)據(jù)包。缺省的策略是:(源MAC地址 XOR 目標(biāo)MAC地址) % slave數(shù)量,。其他的傳輸策略可以通過xmit_hash_policy選項指定,,此模式提供負(fù)載平衡和容錯能力
  4. Mode 3 (broadcast)
    廣播策略:在所有的slave接口上傳送所有的報文,提供容錯能力
  5. Mode 4 (802.3ad) IEEE 802.3ad Dynamic link aggregation
    IEEE 802.3ad 動態(tài)鏈接聚合:創(chuàng)建一個聚合組,它們共享同樣的速率和雙工設(shè)定,。根據(jù)802.3ad規(guī)范將多個slave工作在同一個激活的聚合體下,。
    條件:
    條件1:ethtool支持獲取每個slave的速率和雙工設(shè)定
    條件2:switch(交換機(jī))支持IEEE 802.3ad Dynamic link aggregation
    條件3:switch(交換機(jī))配置了堆疊模式才能支持
  6. Mode 5 (balance-tlb) Adaptive transmit load balancing
    適配器傳輸負(fù)載均衡:不需要任何特別的switch(交換機(jī))支持的通道bonding。在每個slave上根據(jù)當(dāng)前的負(fù)載(根據(jù)速度計算)分配外出流量,。如果正在接受數(shù)據(jù)的slave出故障了,,另一個slave接管失敗的slave的MAC地址。
    該模式的必要條件:ethtool支持獲取每個slave的速率
  7. mode=6 (balance-alb):平衡負(fù)載模式,有自動備援,,不必”Switch”支援及設(shè)定,。
(/etc/sysconfig/network-scripts/ifcfg-bond0)
DEVICE=bond0
BOOTPROTO=none
BONDING_OPTS='miimon=100 mode=0 fail_over_mac=1'
#miimon 系統(tǒng)每100ms 監(jiān)測一次鏈路連接狀態(tài),如果有一條線路不通就轉(zhuǎn)入另一條線路
(/etc/sysconfig/network-scripts/ifcfg-eth0)
DEVICE=eth0
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
USERCTL=no
  • 刪除bond0
    ifconfig bond0 down
    rmmod bonding

命令:nmcli

nmcli [OPTIONS] OBJECT {COMMAND|help}
命令+選項+對象+命令

OBJECTCOMMNAD
connect{show | up | down | modify | add | edit | clone | delete | monitor | reload | load | import | export} [ARGUMENTS...]
device{status | show | set | connect | reapply | modify | disconnect | delete | monitor | wifi | lldp} [ARGUMENTS...]
nmcli OBJECTCOMMAND注釋
connect
'con'
show 顯示所有連接
--active顯示所有活動的連接
NAME顯示網(wǎng)卡的配置
addcon-name
ifname
type
autoconnect
ipv4.addresses
ipv4.gateway
連接名
網(wǎng)卡名
類型{ethernet/bond/team}
是否自動連接(no/yes)
ip地址{ip/mask [gw]}
網(wǎng)關(guān)
modCON_NAMEconnection-autoconnect {no/yes}
connection.id {CON_NAME}
[±]ipv4.dns {IP}
[±]ipv4.addresses {IP/MASK [GW]}
ipv4.methon {manual/auto}
ipv4.dns {IP}
ipv4.dns-search {example.com}
ipv4.ignore-auto-dns {no/yes}
connection.interface-name {DEV}
802-3-ethernet.mac-address {MAC}
downNAME關(guān)閉網(wǎng)卡
upNAME開啟網(wǎng)卡
reload重新加載配置
delete(del)NAME刪除連接
device
'dev'
status 顯示設(shè)備狀態(tài)
showens33顯示網(wǎng)絡(luò)接口屬性
disconnect
'dis'
DEV_NAME臨時關(guān)閉網(wǎng)絡(luò)
network
'net'
off / on關(guān)閉/開啟所有網(wǎng)絡(luò)接口
#創(chuàng)建新連接default,,IP自動通過dhcp獲取
nmcli con add ==con-name== default ==type== Ethernet ==ifname== eth0

#創(chuàng)建新連接static ,,指定靜態(tài)IP,不自動連接
nmcli con add ==con-name== static ==ifname== eth0 ==autoconnect== no =type== Ethernet ==ipv4.addresses== 172.25.X.10/24 ==ipv4.gateway== 172.25.X.254

nmcli實現(xiàn)bond0

#創(chuàng)建bond0
nmcli connection add type bond con-name mybond0 ifname bond0 mode active-backup
#添加從屬網(wǎng)卡
nmcli connection add type bond-slave ifname ens33 master bond0
nmcli connection add type bond-slave ifname ens37 master bond0
#啟動從屬接口
nmcli connection up bond-slave-eth0
nmcli connection up bond-slave-eth1
#啟動bond0
nmcli connection up mybond0

網(wǎng)絡(luò)組Network Teaming

METHOD:

  1. runner
  2. broadcast
  3. roundrobin
  4. activebackup
  5. loadbalance
  6. LACP

nmcli創(chuàng)建網(wǎng)絡(luò)組

#創(chuàng)建網(wǎng)絡(luò)組
nmcli con add `type` team `con-name` Myteam `ifname` ens33 `config` '{'runner': {'name': 'METHOD'}}'

#創(chuàng)建port口
nmcli con add `type` team-slave`con-name` Myteam `ifname` INAME `master` TEAM

創(chuàng)建網(wǎng)絡(luò)組示例

#創(chuàng)建team
nmcli con add type team con-name Myteam0 ifname team0 config '{'runner':{'name':'activebackup'}}' ipv4.addresses 192.168.0.100/24 ipv4.method manual

#創(chuàng)建port
nmcli con add type team-slave con-name myteam0-eth0 ifname ens33 master team0
nmcli con add type team-slave con-name myteam0-eth1 ifname ens37 master team0

#啟用
nmcli con up team0
nmcli con up team0-eth0
nmcli con up team0-eth1

#查看狀態(tài)
teamdctl team0 state

#測試
ping -I team0 192.168.0.1

#關(guān)閉
nmcli dev dis ens33
nmcli dev dis ens37

  1. 配置文件:/etc/sysconfig/network-scripts/ifcfg-team0
DEVICE=team0
DEVICETYPE=Team
TEAM_CONFIG='{\'runner\':{\'name\':\'activebackup\'}}'
BOOTPROTO=none
IPADDR0=192.168.0.100
PREFIX0=24
NAME=Myteam0
ONBOOT=yes
DEVICE=team0
  1. 配置文件:/etc/sysconfig/network-scripts/ifcfg-team0-eth0
DEVICE=ens33
DEVICETYPE=TeamPort
TEAM_MASTER=team0
NAME=team0-eth0
ONBOOT=yes

##刪除網(wǎng)絡(luò)組

nmcli con down team0
nmcli con del team0-eth0
nmcli con del team0-eth1

teamdctl team0 state
nmcli con show

實現(xiàn)網(wǎng)橋

#創(chuàng)建網(wǎng)橋
nmcli con add type bridge con-name mybr0 ifname br0 ipv4.addresses 192.168.0.100/24 ipv4.method manual

#創(chuàng)建從屬接口
nmcli con add type bridge-slave con-name mybr0-eth0 ifname ens33 master br0

#查看網(wǎng)橋
brctl show

命令brctl(工具yum install bridge-utils)

#添加網(wǎng)橋
brctl addbr br0
#刪除網(wǎng)橋
brctl delbr br0
#查看網(wǎng)橋
brctl show 
#查看MAC表
brctl showmacs br0

#添加網(wǎng)卡
brctl addif eth0
#刪除網(wǎng)卡
brctl delif eth0

測試網(wǎng)絡(luò)工具

  • 顯示主機(jī)名
    hostname
  • n測試網(wǎng)絡(luò)連通性
    ping
    **顯示正確的路由表
    ip route
  • 跟蹤路由
    traceroute
    tracepath
    mtr
  • 確定名稱服務(wù)器使用
    nslookup
    host
    dig

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多