1. 程式人生 > >CentOS 7.4 ifconfig, ip/ss, nmcli, nmtui, 配置文件 修改ip信息用法

CentOS 7.4 ifconfig, ip/ss, nmcli, nmtui, 配置文件 修改ip信息用法

lease 其中 信息 tin 服務器 option ipv4 PC dentry

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...

  1. 編輯/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接入網絡簡明設置

需求:

  1. ip/mask
  2. 路由:默認網關
  3. 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

CentOS 7.4 ifconfig, ip/ss, nmcli, nmtui, 配置文件 修改ip信息用法