1. 程式人生 > 資訊 >印度富士康工廠尋求擴張以滿足本土 iPhone 需求,此前已被批准生產 iPhone 13

印度富士康工廠尋求擴張以滿足本土 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對網路裝置的命名方式

  1.  如果Firmware或BIOS為主機板上整合的裝置提供的索引資訊可用,且可預測則根據此索引進行命 名,如:eno1
  2. 如果Firmware或BIOS為PCI-E擴充套件槽所提供的索引資訊可用,且可預測,則根據此索引進行命 名,如:ens1
  3. 如果硬體介面的物理位置資訊可用,則根據此資訊命名,如:enp2s0
  4. 如果使用者顯式啟動,也可根據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地址配置