CentOS 7.4 ifconfig, ip/ss, nmcli, nmtui, 配置文件 修改ip信息用法
CentOS 7.4 中, 網卡命名方式發生改變, 可預測功能命名:
網卡簡要名稱組成格式:
- 前綴
- en: ethernet
- wl:wlan //無線局域網設備
- ww:wwan //無線廣域網設備
- 名稱類型
- o<index>:集成設備的設備索引號
- onboard板上集成
- s<slot>: 擴展槽的索引號
- x<MAC>:基於MAC地址的命名
- p<bus>s<slot>: PCI總線號+插槽號
- 栗子: enp2s3: 第二個bus第三個插槽
如何回歸 CnetOS 6 傳統命名方式, 即eth0,1,2...
-
編輯/etc/default/grub配置文件
-4-[root@vm]21:00 ~ # cat /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
在GRUB_CMDLINE_LINUX行中插入: "net.ifnames=0 rhgb quiet",
GRUB_CMDLINE_LINUX表示啟動時給內核的參數,
"net.ifnames=0 rhgb quiet"表示系統啟動過程中不對網卡進行重命名;
即:
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet net.ifnames=0 rhgb quiet"
2.使用grup2生成其配置文件
-5-[root@vm]21:11 ~ # grub2-mkconfig -o /etc/grub2.cfg
3.reboot
Linux接入網絡簡明設置
需求:
-
ip/mask
-
路由:默認網關
-
DNS服務器
-
可配置三個DNS服務器
配置方式:
-
命令行模式:
-
ifconfig / route / netstat<推薦使用ss>
-
ifconfig
-
ifconfig –a 顯示所有網卡信息
-
ifconfig INTERFACE [up|down] 激活或禁止某網卡
-
ifconfig 接口 IP/mask [up] 設置某網卡ip地址及MASK
-
啟用混雜模式: [ - ]promisc //監控常用
-
route 路由管理命令
-
route –n 以數字形式代替解釋主機名形式來顯示地址。此項對試圖檢測對域名服務器進行路由發生故障的原因非常有用;
-
route add 添加路由
-
route add [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]
-
-net 路由目標為網絡
-
-host 路由目標為主機
-
e.g.
-
目標192.168.50.10
-
地址192.168.50.1
-
# route add –host 192.168.50.10[/24] gw 192.168.50.1 dev ens33
-
即訪問192.168.50.10時, 從192.168.50.1的主機進行路由
-
route del刪除路由
-
route del [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]
-
route del –host 192.168.50.10
-
netstat - 顯示網絡連接,路由表,接口狀態,偽裝連接,網絡鏈路信息和組播成員組。
-
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: 以數字顯示內容
-
-e: 擴展模式
-
-p: 顯示相關進程及PID
-
-r: 顯示路由表
-
-i [-Iens33] 顯示接口信息(-I后沒有空格直接跟接口名)
-
常用組合:
-
-tan: 查看所有tcp協議連接
-
-uan:
-
-tnl: 處於監聽狀態的tcp連接
-
-unl
-
ss命令 -另一個實用程序來查看套接字
-
ss用於轉儲套接字統計信息, 效率比netstat高,推薦使用
-
ss [ OPTIONS ] [ FILTER ]
-
-a: 打印所有
-
-n: 數字展示
-
-l: 監聽狀態
-
-r:嘗試解析數字端口
-
-e:擴展模式
-
-t, –u, –p, –w
-
基本與netstat選項無二致; 常用組合相同;
-
ip命令
-
ip [ OPTIONS ] OBJECT { COMMAND | help }
-
OBJECT := { link | address | route}
-
link:
-
ip link - network device Configuration
-
ip link set dev INTERFACE [up|down]
-
show [dev DEVICE] [up]
-
[dev DEVICE] : 指定接口
-
[up]: 僅顯示處於激活狀態的接口
-
addr
-
ip addr { add | del } INTERFACE dev STRING
-
add
-
[label ‘LABEL’]: 添加網址時指定網卡別名
-
[ scope {global | link | host} ]: 指明作用域
-
global: 全局可用;
-
link: 僅鏈接可用;
-
host: 本機可用;
-
[ broadcast ADDRESS ] : 指明廣播地址 //有用嗎?默認不都是255?
-
ip addr show
-
查看ip信息, 基本等同與ifconfig
-
ip route - routing the table
-
添加路由: # ip route add TARGET via GW dev INTERFACE src SOURCE_IP
-
TARGET = IP/MASK
-
GW = Gateway
-
添加網關: #ip route add default via GW dev INTERFACE
-
ip route del 刪除路由
-
ip route del TARGET
-
ip route show/list 打開路由表
-
ip route flush
-
清空路由表
-
[via PREFIX] 只清空或顯示與指定網關相關的
-
flush 清空整個路由表
-
[dev INTERFACE] 指定接口的路由表
-
nmcli 配置ip地址
-
nmcli [ OPTIONS... ] OBJECT [ COMMAND ] [ ARGUMENTS... ]
-
OBJECT : { help | connection | device }
-
device - show and manage network interfaces //查看管理接口
-
connection - start, stop, and manage network connections
-
nmcli connection modify IFACE [+|-] setting.property value //修改ip地址
-
ipv4.addresses
-
ipv4.gateway
-
ipv4.dns1
-
modify可修改內容包含: [connection, 802-3-ethernet (ethernet), 802-1x, dcb, ipv4, ipv6, proxy]
-
如果更改信息后沒有生效: #nmcli device down ens33; nmcli device up ens33
-
或者重啟網絡服務
-
nmcli device [ up | down ] [ INTERFACE ]
-
nmcli device show [ INTERFACE ]
-
圖形界面模式:
-
nmtui-->簡單操作易上手
-
setup接口進入nmtui
-
注意: 直接存入配置文件, 需要重啟網絡服務 service network restart
-
修改配置文件: //推薦使用, 一次更改永久有效
-
IP/MASK, GW, DNS相關配置文件:
-
/etc/sysconfig/network-scripts/ifcfg-INTERFACE
-9-[root@vm]21:31 /etc/sysconfig/network-scripts # cat ifcfg-ens33 HWADDR=00:0C:29:62:AA:F0 //MAC地址 TYPE=Ethernet //模式以太網 PROXY_METHOD=none //代理 BROWSER_ONLY=no //僅允許瀏覽器上網? BOOTPROTO=static //設備激活時的獲取IP方式;如果此處設置為dhcp,且指定IPADDR, 則會給網卡建立兩個ip地址, 一個為IPADDR指定, 一個為dhcp指定 IPADDR=192.168.142.128 //IPv4地址 PREFIX=24 //子網掩碼位數, C類地址為24 GATEWAY=192.168.142.2 //網關 DNS1=192.168.142.2 //DNS1 DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes //IPv6初始化, 一般用不到 IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=WiredCon1 //Connection名稱 UUID=2ba059ee-b4c2-3d7f-8eda-9085dea1b1d0 ONBOOT=yes //開機啟動 AUTOCONNECT_PRIORITY=-999
====================
BOOTPROTO=static //設備激活時獲取IP的方式; 如果此處設置為dhcp,且指定IPADDR, 則會給網卡建立兩個ip地址, 一個為IPADDR指定, 一個為dhcp指定; 設置dhcp且指定ip, 運行#nmcli connection show WiredCon1可查看到兩個IP地址, 而且都可以訪問; IP4.ADDRESS[1]: 192.168.142.128/24 IP4.ADDRESS[2]: 192.168.142.131/24 而運行#ifconfig則只能看到其中一個IP; 此時運行 #nmcli connection del 無效; ip addr del也無效; 僅需更改dhcp為static, 重啟網絡服務即可固定一個ip地址;或單獨開啟dhcp而不指定ip; # systemctl restart network.service //重啟網絡服務 這里推薦一個工具netmask, 這是一個ip網段/子網掩碼的轉換工具, 詳細請看博客;
-
路由相關的配置文件:
-
/etc/sysconfig/network-scripts/route-INTERFACE (默認此文件不存在, 需要建立)
-
內容配置如下
-
a>TARGET via GW
-
b>ADDRESS#=TAREGT
NETMASK#=MASK
GATEWAY#=GW -
二選一配置即可
-
DNS服務器指定
-
/etc/resolv.conf
-
nameserver DNS-IP1
-
nameserver DNS-IP2
-
nameserver DNS-IP3
- 給網卡配置多地址:
- ifconfig:
ifconfig IFACE_ALIAS IP/MASK
# ifconfig ens33:0 192.168.50.123/32 up - ip:
ip addr add IP/MASK dev ens33
ip addr del 192.168.50.123/32 dev ens33:0 - nmcli:
- nmcli device modify ens33 +ipv4.addresses 192.168.50.12/24
- nmcli connection modify [連接名稱-WiredCon1] +ipv4.addresses 192.168.50.12/24
- 通過device或這con修改的ip地址同時需要對應命令刪除或修改
- 配置文件:
ifcfg-ens33_ALIAS
DEVICE=ens33_ALIAS
注意: 網關別名不能使用dhcp協議引導;
雜項:
主機名稱配置工具:
hostnamectl
status
set-hostname 'NAME'
或者
配置文件:
#vim /etc/sysconfig/network
HOSTNAME='NAME'
# systemctl restart network.service //重啟網絡服務
設置默認啟動界面為命令行: systemctl set-default multi-user.target
命令行下啟動圖形界面: startx
TCP的常見狀態:
tcp finite state machine:
LISTEN: 監聽
ESTABLISHED: 已建立的連接
FIN_WAIT_1
FIN_WAIT_2
SYN_SENT
SYN_RECV
CLOSED