1. 程式人生 > >學習筆記(15)

學習筆記(15)

學習筆記

1.A ping B 中間路由可以不加的


A--net1--1 R1 2--net2C--3 R2 4--net3D--5 R3 6--net4--B


R1

route add -net net4/N4 gw ip3 只加此條

route add -net net3/N3 gw ip3 不加

或者

route add default gw ip3



R2

route add -net net1/N1 gw ip2

route add -net net4/N4 gw ip5


R3

route add -net net1/N1 gw ip4

route add -net net2/N2 gw ip4

或者

route add default gw ip4

2.本網絡外部網絡都是通過路由來轉發數據包的,刪除本地路由網絡也會不通,所以在創建網卡的時候默認生成一條網卡的網關

3.DEVICE 和HW 找到針對那個網卡來設置 ,與ifcfg-eth0 對應,DEVICE=eth0,或者指定網卡的MAC地址(ifconfig 中查看到的) HWADDR=...

4.多個DNS設置 可以作為高可用來設置 如1.1.1.1(澳大利亞的DNS服務器) 114.114.114.114(阿裏的DNS服務器)

5.HWADDR 必須是真實的MAC地址(ifconfig中查看到的MAC地址),MACADDR可以是VMware生成的假的MAC地址如果名字為HWADDR指定假的MAC地址會報錯,指定網卡可以通過指定DEVICE名或HWADDR一項即可定位網卡

6.DNS是否生效 查看cat /etc/resolve.conf 是否有DNS主機IP

7.修改主機名 vi /etc/sysconfig/network (centos6) hostname 主機名

提示符需要重新登錄才會變化

vi /etc/sysconfig/network 也可以存放網關的配置

如: GATEWAY=192.168.30.254

修改後不會立即生效,reboot後才可生效,可以使用route add 來即時生效

ifcfg-ens33中的修改網關也必須通過reboot後才生效,重啟網絡服務不生效

沖突的話以網卡中配置的網關優先生效

8.ifconfig ens33:0 192.168.1.1/24 臨時設置

9.永久保存多IP,需要編輯配置文件ifcfg-eth0:1,需要主機的地方是一定要讓配置文件中的DEVICE名字為ifcfg-後面的eth0:1

cat > ifcfg-eth0:1

DEVICE=eth0:1 名字與文件名的後綴相同來定位網卡(也可以通過MAC地址來定位網卡)

...

重啟網絡服務後永久生效

10.當路由器的服務器一定要註意開啟端口轉發功能/proc/sys/net/ipv4/ip_forward 為1 ,單臂路由不穿過路由器所以ttl值不減1

偽文件系統的文件不能使用編輯器打開編輯可以使用echo "value" > /pro/sys/net/ipv4/ip_forward 來更改,文件名也可以是參數名,如sysctl -w net.ipv4.ip_forward=1

讓配置永久生效 需要修改配置文件 vi /etc/sysctl.conf ,修改完配置文件後使用 sysctl -p 來生效,sysctl -a 來顯示當前的配置

11.ping -I 1.1.1.254 3.3.3.3 可以指定用哪個網卡去ping

12.tcpdump icmp -nn 查看當前網絡的出包,指定-nn選項,不將服務端口號解析成service名字

13.netstat -nr (route -n) 查看路由表

14.socket套接字文件用於本地通信的,走tcp/ip協議棧需要封裝解封裝來通信

15.netstat -p 查看是哪個進程打開的端口 -e會顯示擴展信息 -l listen 監聽狀態

netstat -i 統計發送包收包的個數,增長過大有可能收到攻擊

tcpdump -i eth0 -nn 來抓包查看詳細 -nn選項不讓其解析成服務名字以免影響效率

netstat -Ieth0 netstat -I=eth0 指定端口來查看收發包個數

16.MTU 以太網幀的數據部分

17.netstat 可以使用ss 代替,ss效率比netstat 高

18.ip link 查看鏈路層的信息

ip address 查看三層信息包括二層信息

ip a (ip address), ip r (ip route) 簡寫

ip route 使用其顯示格式復制粘貼可以添加路由(刪除也可以使用ip route格式)

ip route add 4.4.4.0/24 via 192.168.1.100 即可

ip命令有補全功能,centos6 中要使用yum install bash-completion -y (EPEL源中)

19.使用 橋接也可以上網,如果局域網是通過NAT來上網的

20.yum源的原理說明補充

21.ip address add 2.2.2.2/24 dev eth0 label eth0:2 lable別名

22.ip link set eth0 down 相當於拔除網線

ip link set eht0 up 插上網線

23.ip 作用域:

global: 不同網卡的的IP也會響應

link: 只有相連的IP地址才會響應

host: 只在本機有效

24.保存路由的配置文件

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

需要service network restart 生效

兩種風格:

1.target via gw

如: 10.0.0.0/8 via 172.16.0.1

2.每三行定義一條路由

如:ADDRESS=target

NETMASK=mask

GATEWAY=GW

25.網卡別名必須手動指定IP,標準的網卡配置文件可以手動指定IP也可動態獲取IP,可以一個自動獲取一個手工指定

26.TYPE 和UUID 配置文件中可以不指定

27./etc/hosts文件 將名字解析成地址 (共同的域名解析優先級高於DNS)

6.6.6.6 www.magedu.com

主機名和IP的對應關系要在主機名修改之後添加,有些服務是通過主機名來訪問的,所以建議兩處配置文件都修改

修改優先級 /etc/nsswitch.conf, files 在前


cat /etc/nsswitch.conf

#hosts: db files nisplus nis dns

hosts: files dns 修改files 和dns的順序就可以重新定義dns解析的優先級


dns的修改順序

可以修改/etc/hosts 來將google地址的ip對應關系寫入即可×××

28.單個網卡可以配置不同網段的ip來模擬不同的網卡

29.USERCTL 是否允許普通用戶啟動和關閉網卡

30.cat /proc/net/bonding/bond0 查看狀態

31.bond3廣播模式 所有網卡都走相同數據包 (DUP!) 回包重復

32.出現virbr0,卸載軟件包 yum remove libvirt-daemon -y,reboot後就可以消失

33.bond實驗補充、網卡名修改實驗補充

34.安裝kernel-doc包查看bond0的幫助文檔

35.modporobe -r bonding 卸載bongding 模塊(lsmod顯示裝載的模塊)

36.修改網卡名(centos7)

方法1:vim /etc/grub2.cfg(/etc/default/grub文件的鏈接) 修改文件,然後重啟reboot即可生效

方法2:vim /etc/default/grub 增加內容 修改重新生成文件grub.cfg

grub2-mkconfig 回車輸出內容需要重定向 -o 輸出至文件 reboot後重命名生效

都是最終修改/boot/grub2/grub.cfg

37.nmcli (network manager client)

centos7 管理網絡

38.nmcli視頻補充

39.centos 7 /etc/hostname hostname 修改主機名

hostnamectl 修改配置文件後直接生效

hostnamectl set-hostname 主機名

exec bash 相當與退出後登錄 提示符的主機名修改

40.127.0.0.1 行的後面的也要加本機的主機名和簡名

41.temdctl team0 state 查看狀態

42.nmcli 加team rhce要很熟練

43.ethtool ens33 可以查看網卡的硬件配置信息

mii-tool ens33 查看網卡的硬件配置信息

44.nslookup www.baidu.com 是否能夠解析域名

dig www.magedu.com 查看是否能夠解析域名

host www.baidu.com 查看是否能夠解析域名

45.ip address 可以查看網線是否斷開(down)

46.yum install ftp lftp 安裝客戶端 使用ftp,lftp更方便,可補全 能顯示顏色區分文件夾文件

47.lftpget ftp://172.20.0.1/pub/Tools/file 非交互下載 腳本中可用

wget 既可以下載ftp文件也可以下載http文件

48.grep -q yum -q 靜默安裝 wget -q

49.yum install links -y

links 172.20.0.1 --source 可以查看源碼

links 172.20.0.1 --dump > a.txt 不然復制的文件可以直接dump --dump 只顯示文件

50.Cow copy on write 寫時復制(類似快照的效果) 創建子進程時,子進程在修改內存的時候會復制一份內存空間

51.ps aux VSZ 程序所需的全部內存,RSS 實際分配的內存(程序在運行期間不需要給出所有內存,只需分配部分內存供程序運行使用,而後需要的時候系統再去分配內存)

52.free shared 共享的內存空間,可以用於主機內的進程之間的通信

53.消息隊列多條消息發送到消息隊列來通信。

54.不可中斷,不可以被喚醒,只有滿足某種條件才可以喚醒

僵死態,進程結束後內存空間未釋放

55.pstree -p 顯示的信息中{} 括起來的就是線程

56.exec bash 類似於登出再登錄,(需要登出再登錄時才可生效的時候可以執行exec bash命令來解決)

57.想要網卡的別名(註意是別名,而不是獨立的網卡,獨立的網卡不僅需要配置文件還需要虛擬機添加網卡才可以)永久生效需要有配置文件才可以,

58.模擬拔網線可以使用

# ip link set ens33 down(ifconfig ens33 down)

# ip link [show] (ip address) 都可以查看網絡的狀態(UP/DOWN)

59.nmcli 可支持補全功能,可以通過nmcli connection 來生成網卡的配置文件後通過nmcli connection up name 來生效網卡配置

nmcli device status

nmcli connection show

nmcli connection delete ens33

nmcli connection add con-name office-eth1 ifname eth1 type ethernet ipv4.method auto connection.autoconnect yes

nmcli connection show

nmcli connection up office-eth1 配置文件關聯網卡設備

nmcli connection

nmcli connection modify Wired\ connection \2 con-name home-eth1

nmcli connection

nmcli connection 就是編輯配置文件

cat ifcfg-home-eth1 ,可以直接修改文件也可以使用nmcli

nmcli connection modify home-eth1 ipv4.address 172.20.0.7/16 ipv4.gatewat 172.20.0.1 ipv4.dns 114.114.114.114 ipv4.method manual (默認是自動獲取)不設置的方法為manal,ip設置將無效

nmcli connection up home-eth1 生效

單塊網卡地址的IP切換

cp 拷貝nmcli生成的網卡設備文件後修改後需要nmcli connection reload 加載至內存生效

nmcli生成的配置文件手動修改後只能使用nmcli connection reload 來使其生效,使用nmcli connection up static-eth1 類似的命令不能使其生效,使用nmcli connection modify來修改的可以使用nmcli connection up static-eth1才可以使其生效


補充,UUID唯一標識一個網卡設備,如果在復制網卡文件或是克隆時可以刪除其UUID讓系統重新生成以免沖突


nmcli connection modify \Wired\ connection\1 con-name eth0 ipv4.method manual ipv4.address 192.168.30.7/24

nmcli connection up eth0 關聯配置文件至網卡並使其生效

nmcli device disconnect eth1 只是刪除網卡的ip地址,網絡狀態依舊是UP狀態

nmcli device connect eth1 恢復網卡的ip地址

nmcli connection show ens33 查看nmcli的詳細配置信息(ipv4.method 默認是auto)


60.修改完主機名在127.0.0.1的最後面填上主機名和簡名

61.centos7 代替bonding的是Teaming ,性能據說優於bonding

62.teamdctl team0 state

63.nmcli connection delete ... (Teaming的3個配置文件)


nmcli的team實驗博客

ip分類的課堂筆記博客

wireshark的安裝,使用

創建鏡像安裝包合集(Centos6)



64.nmcli創建Teaming步驟:(Centos7)

1.首先需要兩塊或以上的網卡設備,#nmcli device status 可以查看系統網卡的狀態

2.nmcli connection delete ens33 (nmcli connection show 第一列的名字) 刪除ifcfg-ens33的網絡配置文件

3.nmcli connection delete ens37 刪除ifcfg-ens37的網絡配置文件

4.nmcli connection add type team con-name team0 ifname team0 config '{"runner":{"name":"activebackup"}}'

5.nmcli connection modify team0 ipv4.address 192.168.1.2/24 ipv4.method manual

6.nmcli connection add type team-slave con-name team0-ens33 ifname ens33 master team0

7.nmcli connection add type team-slave con-name team0-ens37 ifname ens37 master team0

8.nmcli connection up team0

9.nmcli connection up team0-ens33

10.nmcli connection up team0-ens37

11.teamdctl team0 state 查看team的狀態

12.nmcli dev dis ens33


nmcli中的con-name(對應於nmcli connection show 的第一列的名字) ,ifname(對應於device name)

nmcli命令本質是創建網卡的配置文件,如ifcfg-team0-slave

nmcli connection up name(nmcli connection show 的第一列的名字) 生效配置文件

如果使用編輯器修改nmcli生成的配置文件需要重載,nmcli connection reload 來生效


nmcli創建bond的步驟:

1.nmcli connection add type bond con-name my-bond0 ifname bond0 mode active-backup

2.nmcli connection modify my-bond0 ipv4.method manual ipv4.address 192.168.1.100/24

3.nmcli connection add type bond-slave con-name bond0-ens33 ifname ens33 master bond0 (bond0為nmcli connection show 命令的device的名字)

4.nmcli connection add type bond-slave con-name bond0-ens37 ifname ens37 master bond0

5.nmcli connection up bond0-ens37 生效配置(要先從從接口開始啟動,然後再啟動bond接口)

6.nmcli connection up bond0-ens33

7.nmcli connection up my-bond0 最後生效bond0接口


手動配置bonding

vi ifcfg-bond1:

DEVICE=bond1

IPADDR=192.168.30.6

PREFIX=24

BONDING_OPTS="mode=1 miimon=100"


vi ifcfg-ens33:

DEVICE=ens33

MASTER=bond1

SLAVE=yes



vi ifcfg-ens37:

DEVICE=ens37

MASTER=bond1

SLAVE=yes


重啟服務即可生效


卸載bond

1.ifconfig bond1 down

2.rmmod bonding(mobprobe -r bonding) 卸載bonding模塊(lsmod |grep bonding)

查看bonding的具體狀態信息

cat /proc/net/bonding/bond0

學習筆記(15)