印度富士康工廠尋求擴張以滿足本土 iPhone 需求,此前已被批准生產 iPhone 13
1、基本網路配置
將Linux主機接入到網路,需要配置網路的相關設定
一般包括如下內容
- 主機名
- IP/nemask
- 路由:預設閘道器
- DNS伺服器
主DNS伺服器
次DNS伺服器
第三個DNS伺服器
1.1Centos 6 之前版本的網絡卡名稱
介面命名方式:Centos 6
乙太網:eth[0,1,2...]
網路介面識別並命名相關的udev配置檔案:
/etc/udev/rules.d/70-persistent-net.rules [root@centos6 ~]# cat /etc/udev/rules.d/70-persistent-net.rules # This file was automatically generated by the/lib/udev/write_net_rules # program, run by the persistent-net-generator.rules rules file. # # You can modify it, as long as you keep each rule on a single # line, and change only the value of the NAME= key. # PCI device 0x1022:0x2000 (pcnet32) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:e8:6a:fe", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
2.1網路配置命令
- 靜態指定:
ifconfig,route,netstat
ip:object{link,addr,route},ss,tc
system-config-nework-tui,setup
配置檔案
- 動態分配:DHCP:Dynamic Host Configuration Protocol
2.1.1ifconfig命令
來自於net-tools包,建議使用ip代替 基礎安裝的系統,沒有ifconfig這個命令 安裝 yum install net-tools
[root@centos7 ~]#ifconfig eth0 10.0.0.68 netmask 255.255.0.0 #清除eth0上面的IP地址 [root@centos7 ~]#ifconfig eth0 0.0.0.0 #啟用和禁用網絡卡 [root@centos7 ~]#ifconfig eth0 down [root@centos7 ~]#ifconfig eth0 up
#對一個網絡卡設定多個IP地址
[root@centos7~]$ifconfig eth0:1 192.168.1.123/24
[root@centos7~]$ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.0.77 netmask 255.255.255.0 broadcast 10.0.0.255
inet6 fe80::250:56ff:fe39:9ee0 prefixlen 64 scopeid 0x20<link>
ether 00:50:56:39:9e:e0 txqueuelen 1000 (Ethernet)
RX packets 1665 bytes 137271 (134.0 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1352 bytes 100196 (97.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eth0:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.123 netmask 255.255.255.0 broadcast 192.168.1.255
ether 00:50:56:39:9e:e0 txqueuelen 1000 (Ethernet)
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
2.1.2 route命令
路由表管理命令
路由表主要構成:
- Destination: 目標網路ID,表示可以到達的目標網路ID,0.0.0.0/0 表示所有未知網路,又稱為預設路 由,優先順序最低
- Genmask:目標網路對應的netmask
- Iface: 到達對應網路,應該從當前主機哪個網絡卡傳送出來
- Gateway: 到達非直連的網路,將資料傳送到臨近(下一個)路由器的臨近本主機的介面的IP地址,如果 是直連網路,gateway是0.0.0.0
- Metric: 開銷cost,值越小,路由記錄的優先順序最高
檢視路由表:
route
route -n
新增:route add
route add [-net|-host|default] target [netmask Nm] [gw GW] [[dev] If]
刪除:route del
route del [-net|-host] target [gw Gw] [netmask Nm] [[dev] If]
2.1.3 netstat命令
來自於net-tools包,建議使用 ss 代替
顯示網路連線:
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
2.1.4 IP命令
來自於iproute包,可用於代替ifconfig
ip命令格式
ip [ OPTIONS ] OBJECT { COMMAND | help }
IP命令說明
OBJECT := { link | addr | route } ip link - network device configuration set dev IFACE,可設定屬性:up and down:啟用或禁用指定介面,相當於 ifup/ifdown show [dev IFACE] [up]::指定介面 ,up 僅顯示處於啟用狀態的介面 man幫助:ip(8), ip-address(8), ip-link(8), ip-route(8)
#禁用網絡卡 ip link set eth1 down
#網絡卡改名 ip link set eth1 name wangnet
#啟用網絡卡 ip link set wangnet up
#網絡卡別名 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
2.1.4.1 管理路由
ip route 用法
#新增路由: ip route add TARGET via GW dev IFACE src SOURCE_IP TARGET: 主機路由:IP 網路路由:NETWORK/MASK #新增閘道器: ip route add default via GW dev IFACE #刪除路由: ip route del TARGET #顯示路由: ip route show|list #清空路由表: ip route flush [dev IFACE] [via PREFIX]
2.2 ss命令
來自於iproute包,代替netstat,netstat 通過遍歷 /proc來獲取 socket資訊,ss 使用 netlink與核心 tcp_diag 模組通訊獲取 socket 資訊
格式
ss [OPTION]... [FILTER]
選項:
-t: tcp協議相關 -u: udp協議相關 -w: 裸套接字相關 -x:unix sock相關 -l: listen狀態的連線 -a: 所有 -n: 數字格式 -p: 相關的程式及PID -e: 擴充套件的資訊 -m:記憶體用量 -o:計時器資訊
格式說明:
FILTER : [ state TCP-STATE ] [ EXPRESSION ] TCP的常見狀態: tcp finite state machine: LISTEN: 監聽 ESTABLISHED:已建立的連線 FIN_WAIT_1 FIN_WAIT_2 SYN_SENT SYN_RECV CLOSED EXPRESSION: dport = sport =
常用組合:
-tan, -tanl, -tanlp, -uan
常見用法
#顯示本地開啟的所有埠 ss -l #顯示每個程序具體開啟的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 )'
3.1網路配置檔案
3.1.1網路基本配置檔案
ip、mask、gw、dns相關的配置檔案:
/etc/sysconfig/network-scripts/ifcfg-IFACE
常用配置
設定 | 說明 |
TYPE | 介面型別;常見有的Ethernet, Bridge |
NAME | 此配置檔案應用到的裝置 |
DEVICE | DEVICE |
HWADDR | 對應的裝置的MAC地址 |
UUID | 裝置的惟一標識 |
BOOTPROTO | 啟用此裝置時使用的地址配置協議,常用的dhcp, static, none, bootp |
IPADDR | 指明IP地址 |
NETMASK | 子網掩碼,如:255.255.255.0 |
PREFIX | 網路ID的位數, 如:24 |
GATEWAY | 預設閘道器 |
DNS1 | 第一個DNS伺服器地址 |
DNS2 | 第二個DNS伺服器地址 |
DOMAIN | 主機不完整時,自動搜尋的域名字尾 |
ONBOOT | 在系統引導時是否啟用此裝置 |
USERCTL | 普通使用者是否可控制此裝置 |
PEERDNS | 如果BOOTPROTO的值為“dhcp”,YES將允許dhcp server分配的dns服務 器資訊直接覆蓋至/etc/resolv.conf檔案,NO不允許修改resolv.conf |
NM_CONTROLLED | NM是NetworkManager的簡寫,此網絡卡是否接受NM控制 |
3.1.2配置當前主機的主機名
#centos6 之前版本 /etc/sysconfig/network HOSTNAME= #centos7 以後版 /etc/hostname HOSTNAME
3.1.3本機主機名資料庫和IP地址的對映
優先於使用DNS前檢查
getent hosts 檢視/etc/hosts 內容
/etc/hosts
3.1.4DNS域名解析
/etc/resolv.conf
nameserver DNS_SERVER_IP1
nameserver DNS_SERVER_IP2
nameserver DNS_SERVER_IP3
search DOMAIN
3.1.5修改/etc/hosts和DNS的優先順序
/etc/nsswitch.conf
hosts: files dns
4.1Centos 7 以上的網路配置
CentOS 6之前,網路介面使用連續號碼命名:eth0、eth1等,當增加或刪除網絡卡時,名稱可能會發生變 化,CentOS 7 以上版使用基於硬體,裝置拓撲和設定型別命名
CentOS 8 中已棄用network.service,採用NetworkManager(NM)為網絡卡啟用命令。CentOS 8 仍可 以安裝network.service作為網絡卡服務,只是預設沒有安裝,具體方法為: dnf install networkscripts ,不過官方已明確在下一個大版本中,將徹底放棄network.service,不建議繼續使用 network.service管理網路。
4.1.1網絡卡命名機制
systemd對網路裝置的命名方式
- 如果Firmware或BIOS為主機板上整合的裝置提供的索引資訊可用,且可預測則根據此索引進行命 名,如:eno1
- 如果Firmware或BIOS為PCI-E擴充套件槽所提供的索引資訊可用,且可預測,則根據此索引進行命 名,如:ens1
- 如果硬體介面的物理位置資訊可用,則根據此資訊命名,如:enp2s0
- 如果使用者顯式啟動,也可根據MAC地址進行命名,如:enx2387a1dc56 5. 上述均不可用時,則使用傳統命名機制
網絡卡組成格式
en: Ethernet 有線區域網 wl: wlan 無線區域網 ww: wwan無線廣域網 o<index>: 整合裝置的裝置索引號 s<slot>: 擴充套件槽的索引號 x<MAC>: 基於MAC地址的命名 p<bus>s<slot>: enp2s1
網絡卡名稱改回傳統命名方式
需修改配置檔案
1、vim /etc/default/grub GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0" #新增 net.ifnames=0 biosdevname=0
2、為grub2生成其配置檔案
grub2-mkconfig -o /etc/grub2.cfg
3、重啟系統
reboot
4.1.2主機名
配置檔案:
/etc/hostname
預設沒有此檔案,通過DNS反向解析獲取主機名,主機名預設為:localhost.localdomain
設定主機名
hostnamectl set-hostname centos7.magedu.com
刪除檔案/etc/hostname,恢復主機名localhost.localdomain
顯示主機名資訊
hostname
hostnamectl status
4.7.3網路配置工具nmcli
nmcli命令相關術語
- 裝置即網路介面
- 連線是對網路介面的配置,一個網路介面可有多個連線配置,但同時只有一個連線配置生效
格式:
nmcli [ OPTIONS ] OBJECT { COMMAND | help } device - show and manage network interfaces nmcli device help connection - start, stop, and manage network connections nmcli connection helpN
修改配置檔案執行失效:
nmcli con reload
nmcli con up con-name #網絡卡介面名稱
注意:centos7 network服務與 NetworkManager服務是共存的;network服務啟動,不了,就用nmcli生效配置檔案。
也可嘗試禁用NeworkNannager服務,啟動network。
關閉NetworkManager
systemctl stop NetworkManager
systemctl disable NetworkManager
重新啟動網路:systemctl start network.service
記錄:我的CentOS-7-x86_64-Everything-2009版,啟動network無效,使用nmcli命令。
cnetos7靜態IP地址配置