基本網路配置
網路配置的幾個相關設定:
- 主機名
- IP/netmask
- 路由:默認網關
- DNS服務器(主DNS服務器、次DNS服務器、第三個DNS服務器) --- 實作名字決議的
主機名設定
修改主機名的方法:
持久化配置:
方法一:使用hostnamectl命令 #(只支持centos7以上的版本),修改了以后把主機名存放在/etc/hostname里面
格式:hostnamectl set-hostname XXX #永久設定用戶名,關機后不失效
方法二:修改組態檔 /etc/hostname 保存退出 # reboot重啟生效
#注:centos6存放主機名的檔案在:`/etc/sysconfig/network` 所以不能使用hostnamectl來進行修改,
臨時配置
hostname XXX #臨時修改主機名,關機后失效
查看主機名的方法
#方法一:hostnamectl(centos7以上)或者hostname
#方法二:uname(含義是unix名稱)是一個實用命令,它列印系統資訊
#方法三:查看組態檔 /etc/hostname 或者/etc/sysconfig/network(CentOS 6)
網卡名相關配置
CentOS 6 之前版本網卡名稱:ethX
范例:修改CentOS8的默認網卡名,修改為ethX --- 修改組態檔的方式
組態檔:/etc/default/grub
在GRUB_CMDLINE_LINUX這一行的最后添加 net.ifnames=0 (GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0")
使用grub2-makeconfig -o /boot/grub2/grub.cfg
然后重啟:reboot

通過命令的方式修改網卡名:nmcli命令
#使用nmcli修改IP地址,會自動生成組態檔 -- 綠色就表示正在生效的配置
nmcli connection --- 查看當前的網路連接(一張網卡可以對應多個組態檔,通過NAME來進行切換)
#生成組態檔的方法;
nmcli connection add con-name 名字 ifname 網卡名 #con-name:生成的NAME ifname:針對那個網卡配置的
#自動獲取ip: ipv4.nethod auto
# type ethernet -- type:指定網路的型別
#洗掉配置
nmcli connection delete NAme(名字)
#生效組態檔
nmcli connection up 連接名(NAME) --- 同一張網卡的多個配置,同一時間只能生效一個
網路配置命令
網路配置的方法;
-
臨時配置:用命令臨時生效,寫入記憶體
-
持久化配置:寫入組態檔中
網路配置的方式
-
靜態指定:
-
動態分配:(需要配置dhcp服務)
ifconfig命令(比較老了) --- 臨時配置地址
來自于 net-tools這個包
作用:
- 地址查看
- 臨時配置地址
范例:使用ifconfig臨時配置ip地址和洗掉
#使用ifconfig臨時配置ip地址
ifconfig 網卡名 IP/netmask #netmask是子網掩碼
#洗掉臨時配置的地址方法
ifconfig 網卡名 0
#禁用網卡的方法(默認只顯示啟用的網卡)
ifconfig 網卡名 down
#啟用網卡
ifconfig 網卡名 up
#查看網卡的通信情況
ifconfig -s [網卡名]
范例:使用ifconfig給一個網卡配置多個ip
ifconfig 網卡名:num IP/netmask #(給這個網卡起了一個別名叫做xxx:1)
netstat命令(被ss替代了)
同樣來自于net-tools這個包,可以查看當前網路的連接情況,
選項:
-t: tcp協議相關
-u: udp協議相關
-w: raw socket相關
-l: 處于監聽狀態
-a: 所有狀態
-n: 以數字顯示IP和埠
-e:擴展格式
-p: 顯示相關行程及PID
ss 命令
顯示的資訊和netstat顯示的資訊是一樣的,也是用來查看網路的連接情況
選項:
-t: tcp協議相關
-u: udp協議相關
-w: 裸套接字相關
-x:unix sock相關
-l: listen狀態的連接
-a: 所有
-n: 數字格式
-p: 相關的程式及PID
-e: 擴展的資訊
-m:記憶體用量
-o:計時器資訊
ip命令(替代了ifconfig、route命令等)
用法:ip 子命令
范例:顯示網路資料鏈路層狀態:ip link
#ip link解決的是鏈路層的管理和查看
#顯示網路資料鏈路層狀態
ip link
#禁用網路(邏輯上禁用)
ip link set 網卡名 down
#啟用網路
ip link set 網卡名 up
#ip addr/a --- 網路層的控制
#顯示ip地址:
ip a
#添加ip地址 dev:表示給那個網卡加地址 label:相當于給這個網卡起一個別名
ip a add IP/netmask dev 網卡名 label 網卡:X
#洗掉添加的地址
ip a del IP/netmask dev 網卡名 label 網卡:X
網路的持久化配置
使用命令配置的地址都是臨時性的,可以更改組態檔的方式來持久化配置網路
CentOS網卡的組態檔:
#這個網卡名子無所謂,但是為了方便管理,最好把這個名字設定和網卡的名字一樣,
/etc/sysconfig/network-scripts/ifcfg-IFACE(ifcfg-網卡名)
組態檔選項(基本選項)
IP 、子網掩碼、網關、DNS是上網必須要配置的
#因為這些都是變數,通過識別這些變數來對網卡進行設定的
- TYPE --- 介面型別;常見有的Ethernet, Bridge
- NAME --- 描述資訊,一般和網卡名同名
- DEVICE --- 和當前需要配置的網卡名相匹配(針對那塊網卡進行配置)
- BOOTPROTO --- 靜態地址或動態地址,常用的dhcp(動態), static(靜態), none(也表示靜態地址), bootp
- IPADDR --- 指明IP地址
- NETMASK --- 子網掩碼點分十進制的寫法,如:255.255.255.0
- PREFIX --- 子網掩碼CIDR表示法的寫法
- GATEWAY --- 默認網關(決定了跨路由訪問,路由器的介面地址)
- ONBOOT --- 啟用網卡還是禁用網卡 yes:啟用網卡, no:禁用網卡
- DNSx --- 指向DNS服務器,實作名稱決議為IP地址
#如果配置了dhcp自動獲取,只需要一下資訊:
DEVICE:
NAME:
BOOTPROTO:
ONBOOT:
網卡配置完成后激活配置:
CentOS 6或7:
service network restart
CentOS8:
因為沒有了network這個工具,所以需要使用 nmcli connection reload 來加載我們寫的組態檔
加載完成后就能使用nmcli connection來看到我們對應的網卡設備,然后使用 nmcli connection up Name(這個名字是我們組態檔里面的NAME=xxx)來進行啟動,
網關的管理
route -n --- 查看網關的資訊

DNS和host檔案
DNS作用:實作名稱決議為IP地址
DNS查看配置的DNS是否生效:
#這個檔案中的nameserver后面的是DNS服務器地址
#search后面的是域名,比如沒有寫完整的名字,它會自動給我們補全域后綴,
cat /etc/resolv.conf

host檔案:
/etc/host:本地主機名資料庫和ip地址的映射,可以實作名字的決議(host檔案的優先級高于DNS,可以代替DNS做決議)
路由器
作用:把不同網段的主機連起來(類似于送快遞的快遞員)
每個路由器負責把收到的資料報文傳給下一個路由器,直到傳送到最終的主機,
路由表:
并非路由器上才有,所有的主機上都有,是用來選擇路徑的,(和網路通訊的主機都有路由表),
linux通過 route -n 查看路由表

route命令查看路由表,
- 網關:同網段網關不用設,不同網關需要設網關,不同網段時,網關就是下一個路由器臨近當前設備的介面,(網關的作用就是為了跨網路通信的),網關一定是和自己設備處于同一網段的,
- Metric:花費,多條路徑可達時,則根據Metric的大小來進行選擇,越小越優先,
- Genmask 網路掩碼
- Iface 該路由表項對應的輸出介面
- default: 默認路由,路由表所有路徑都不匹配的時候,就使用默認路由來匹配,默認路由的網關地址就是我們計算機網卡的網關,(網卡配置的時候加gatway的原因就是為了加默認路由),
-
子網掩碼:確定主機所在的網路(和IP配套使用)
-
介面:資料從當前主機的那個介面發出去
-
網關:最近那個路由器相鄰的介面
直連網段的路由是自動生成的,
使用route來管理路由
route命令選項:
#選項:
-net:到一個網路的路由表;
-host:到一個主機的路由表,
#引數
Add:增加指定的路由記錄;
Del:洗掉指定的路由記錄;
Target:目的網路或目的主機;
gw:設定默認網關(下一跳);
dev:路由記錄所表示的網路介面,
#添加路由 -net:指定目標網路 gw:指定網關(下一跳IP) dev:指定介面名
route add(添加路由表) -net 目標網路 gw 網關(相鄰路由器的臨近介面) dev 介面名(出口)
#例如: route add -net 172.18.0.0/24 gw 1292.168.2.1 dev eth1 #增加一條到達172.18.0.0的路由,
#route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0 #增加一條到達244.0.0.0的路由,
#洗掉路由
route del -net 目標網路/netmask
使用ip route來管理路由
#顯示路由:
ip route
#洗掉路由:
ip route delete 目標地址/netmask via 網關 dev 設備名
#添加路由: via:指定嚇一跳路由器的地址(網關)
ip route add 目標地址/netmask via 網關 dev 設備名
查看到達指定地址經過的路由器
方法1:mtr Ip
方法2:traceroute或tracepath IP
路由很關鍵,如果路由錯誤,即使處于同一網段的設備也無法通信,
通過命令配置的路由都是臨時生效的,永久保存需要寫入組態檔,
路由相關的組態檔
/etc/sysconfig/network-scripts/route-IFACE(在這個目錄下創建一個route-介面名的檔案)
格式:
目標網路的網路id/netmask via 網關 (via類似于gw的意思,后面跟網關)
范例:使用centos作為路由器進行配置
路由轉發功能:從一個網卡介面收到資料包以后從另外一個網卡發送出去
Linux默認沒有開啟路由轉發功能ip_forward(路由器默認開啟了這個功能)
linux主機的特性:收到資料包會對目標資料包地址的檢查(不屬于自己就直接拋棄)
開啟IP_forward轉發功能:
#1 搜索ip_forward這個內核引數
sysctl -a | grep ip_forward #ip_forward是一個內核的引數
#2 寫入組態檔持久化保存:
vim /etc/sysctl.conf ---> net.ipv4.ip_forward = 1 (1表示開啟轉發功能,0表示關閉轉發功能)
#3 讓配置生效
sysctl -p

sysctl 修改內核引數
選項:
-w 臨時改變某個指定引數的值
-a 顯示所有的系統引數
-p 從指定的檔案加載系統引數
組態檔
/usr/lib/sysctl.d/
/run/sysctl.d/
/etc/sysctl.d/
組態檔的執行順序:
使用 sysctl --system | grep -v '^[a-z]' 可以查看組態檔的執行順序
/usr/lib/sysctl.d/xxx ---> /etc/sysctl.d/xx ---->/etc/sysctl.conf #后面的會覆寫前面的值
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/498565.html
標籤:Linux
上一篇:王國保衛戰:復仇Kingdom Rush Vengeance for mac(mac塔防游戲)
下一篇:Linux 多網卡系結和網路組
