静态配置网卡IP,centos和ubuntu实现

1. centos8/ubuntu18.4实现网络基本配置

1.1. 网络配置方式

  • 静态指定:
    • ifconfig, route, netstat
    • ip: object {link, addr, route}, ss, tc
      system-config-network-tui,setup
      配置文件
  • 动态分配:
    DHCP: Dynamic Host Configuration Protocol

1.2. centos网络基本配置

1.2.1. 手动网络配置

1.2.1.1. IP、MASK、GW、DNS相关的配置文件

  • 文件路径

    /etc/sysconfig/network-scripts/ifcfg-xxx
    
  • 文件参数说明

    TYPE 接口类型;常见有的Ethernet, Bridge
    NAME 此配置文件应用到的设备
    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
    
  • 配置IP:192.168.100.30/24、网关:192.168.100.2、DNS:114.114.114.114

    [02:58:50 root@localhost yum.repos.d]#vim /etc/sysconfig/network-scripts/ifcfg-ens32 
    [04:15:55 root@localhost yum.repos.d]#cat /etc/sysconfig/network-scripts/ifcfg-ens32
    NAME=ens32
    DEVICE=ens32
    ONBOOT=yes
    IPADDR=192.168.100.30
    PREFIX=24
    GATEWAY=192.168.100.2
    DNS1=114.114.114.114
    
    [04:16:06 root@localhost yum.repos.d]#nmcli con reload && nmcli con up ens32
    连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/7)
    [04:21:50 root@localhost yum.repos.d]#hostname -I
    192.168.100.30 192.168.122.1 
    
  • 验证配置是否成功

    #验证IP地址
    [04:22:12 root@localhost yum.repos.d]#ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN   
    group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    2: ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
        link/ether 00:0c:29:35:fb:a9 brd ff:ff:ff:ff:ff:ff
        inet 192.168.100.30/24 brd 192.168.100.255 scope global noprefixroute ens32
           valid_lft forever preferred_lft forever
    3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
        link/ether 52:54:00:ca:51:ba brd ff:ff:ff:ff:ff:ff
        inet 192.168.122.1/24 brd 192.168.122.255 scope global noprefixroute virbr0
           valid_lft forever preferred_lft forever
    4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
        link/ether 52:54:00:ca:51:ba brd ff:ff:ff:ff:ff:ff
        
    [04:22:50 root@localhost yum.repos.d]#ping 114.114.114.114
    PING 114.114.114.114 (114.114.114.114) 56(84) bytes of data.
    64 bytes from 114.114.114.114: icmp_seq=1 ttl=128 time=47.7 ms
    64 bytes from 114.114.114.114: icmp_seq=2 ttl=128 time=47.2 ms
    64 bytes from 114.114.114.114: icmp_seq=3 ttl=128 time=47.7 ms
    
    #验证DNS
    [20:48:28 root@localhost ~]#cat /etc/resolv.conf
    # Generated by NetworkManager
    nameserver 114.114.114.114
    
    

1.2.2. 命令配置网络

  • 网络配置工具:nmcli

    #修改配置文件执行生效
    nmcli con reload
    nmcli con up con-name
    #查看帮助
    nmcli con add help
    #使用nmcli配置网络
    nmcli con show
    #显示所有活动连接
    nmcli con show --active
    #显示网络连接配置
    nmcli con show "System eth0“
    #显示设备状态
    nmcli dev status
    #显示网络接口属性
    nmcli dev show eth0
    #创建新连接default,IP自动通过dhcp获取
    nmcli con add con-name default type Ethernet ifname eth0
    #删除连接
    nmcli con del default
    #创建新连接static ,指定静态IP,不自动连接
    nmcli con add con-name static ifname eth0 autoconnect no type Ethernet
    ipv4.addresses 172.25.X.10/24 ipv4.gateway 172.25.X.254
    
  • 修改IP等属性格式

    nmcli connection modify IFACE [+|-]setting.property value
    setting.property: ipv4.addresses ipv4.gateway ipv4.dns1 ipv4.method 
    manual |
    auto
    
  • 例子

    nmcli con mod “static” connection.autoconnect no
    nmcli con mod “static” ipv4.dns 192.168.100.100
    nmcli con mod “static” +ipv4.dns 114.114.114.114
    nmcli con mod “static” +ipv4.dns 8.8.8.8
    nmcli con mod “static” ipv4.addresses “192.168.100.30/24 
    192.168.100.2”
    nmcli con mod “static” +ipv4.addresses 192.168.100.50/24
    
  • 案例:nmcli配置静态IP_192.168.100.100/24 网关_192.168.100.2 DNS_114.114.114.114/8.8.8.8

    #查看当前网络连接
    [04:23:21 root@localhost yum.repos.d]#nmcli connection show
    NAME    UUID                                  TYPE      DEVICE 
    ens32   152beb06-47c5-c5e8-95a9-385590654382  ethernet  ens32  
    virbr0  7437dcde-d816-48c6-b835-676e6ea29553  bridge    virbr0 
    #查看当前网络配置并删除,重新创建空文件
    [22:21:52 root@localhost ~]#cat /etc/sysconfig/network-scripts/ifcfg- 
    ens32 
    NAME=ens32
    DEVICE=ens32
    ONBOOT=yes
    IPADDR=192.168.100.30
    PREFIX=24
    GATEWAY=192.168.100.2
    DNS1=114.114.114.114
    [22:38:41 root@localhost ~]#mv /etc/sysconfig/network-scripts/ifcfg-   
    ens32 /etc/sysconfig/network-scripts/ens32.bak
    [22:43:04 root@localhost ~]#ls /etc/sysconfig/network-scripts/
    ens32.bak
    [22:48:16 root@localhost ~]#touch /etc/sysconfig/network-
    scripts/ifcfg-ens32
    [22:48:44 root@localhost ~]#nmcli con mod ens32 ipv4.addresses 
    192.168.100.100/24
    [22:48:50 root@localhost ~]#nmcli con mod ens32 ipv4.dns 
    114.114.114.114
    [22:50:01 root@localhost ~]#nmcli con mod ens32 +ipv4.dns 8.8.8.8
    [22:50:13 root@localhost ~]#nmcli con mod ens32 ipv4.gateway 
    192.168.100.2
    [22:50:54 root@localhost ~]#cat /etc/sysconfig/network-scripts/ifcfg-
    ens32
    TYPE=Ethernet
    PROXY_METHOD=none
    BROWSER_ONLY=no
    BOOTPROTO=none
    IPADDR=192.168.100.100
    PREFIX=24
    GATEWAY=192.168.100.2
    DNS1=114.114.114.114
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=no
    NAME=ens32
    UUID=152beb06-47c5-c5e8-95a9-385590654382
    DEVICE=ens32
    ONBOOT=yes
    DNS2=8.8.8.8
    [23:05:17 root@localhost ~]#nmcli device connect ens32;nmcli device 
    reapply ens32
    [D:\~]$ ssh root@192.168.100.100
    
    
    Connecting to 192.168.100.100:22...
    Connection established.
    To escape to local shell, press Ctrl+Alt+].
    
    ni hao ya zhang xue long
    Activate the web console with: systemctl enable --now cockpit.socket
    
    Last login: Sun Aug 14 23:00:44 2022 from 192.168.100.1
    Session lifetime based on X11 requested, but X11 initialization failed
    

1.3. Ubuntu网络配置

1.3.1. 手动网络配置

  • 说明

    Ubuntu18版本之后网卡配置文件采用YAML格式,必须以/etc/netplan/XXX.yaml 
    文件命名方式存放可以每个网卡对应一个单独的配置文件,也可以将所有网卡都放在一个配置文件里
    yaml文件格式:列表和键值对两种,并包含从属关系,严格控制缩进区分
    
  • 网络配置文件

    /etc/netplan/01-netcfg.yaml #Ubuntu18版本之后
    /etc/network/interfaces #Ubuntu18版本之前
    

    image-20220815012120426

  • 修改网卡配置文件后需执行命令生效:

    netplan apply
    
  • 关闭/启用以太网网卡

    ifconfig ens33 down
    ifconfig ens33 up
    
  • 案例:配置静态IP

    #注意格式缩进
    #Ubuntu18版本之后格式:
    network:
        version: 2
        renderer: networkd
        ethernets:
            eth0:
                addresses: [192.168.8.10/24,10.0.0.10/8] #或者用下面两行,两种格式不能混用
                - 192.168.8.10/24
                - 10.0.0.10/8
                gateway4: 10.0.0.2
                nameservers:
                    search: [magedu.com, magedu.org]
                    addresses: [180.76.76.76, 8.8.8.8, 1.1.1.1]
                    
    #Ubuntu18版本之前格式:
    # The primary network interface
    auto eth0
    iface eth0 inet static
    address 192.168.3.90
    netmask 255.255.255.0
    gateway 192.168.3.1
    #network 192.168.3.0
    #broadcast 192.168.3.255
    #dns-nameservers 114.114.114.114,8.8.8.8
    
  • 配置实操

    root@zxl:~# hostname -I
    192.168.100.35 
    root@zxl:~# vim /etc/netplan/my-init.yaml
    root@zxl:~# cat /etc/netplan/my-init.yaml
    network:
     version: 2
     renderer: networkd
     ethernets:
      ens32:
       addresses:
        - 192.168.100.36/24
       gateway4: 192.168.100.2
       nameservers:
        addresses: [114.114.114.114, 8.8.8.8]
    root@zxl:~# netplan apply                                               
    
  • 验证配置结果是否生效

    [D:\~]$ ssh root@192.168.100.36
    
    
    Connecting to 192.168.100.36:22...
    Connection established.
    To escape to local shell, press Ctrl+Alt+].
    
    Welcome to Ubuntu 18.04 LTS (GNU/Linux 4.15.0-20-generic x86_64)
    
     * Documentation:  https://help.ubuntu.com
     * Management:     https://landscape.canonical.com
     * Support:        https://ubuntu.com/advantage
    
      System information as of Sun Aug 14 17:45:14 UTC 2022
    
      System load:  0.0               Processes:            181
      Usage of /:   1.7% of 99.95GB   Users logged in:      1
      Memory usage: 13%               IP address for ens32: 192.168.100.36
      Swap usage:   0%
    
    
    0 packages can be updated.
    0 updates are security updates.
    
    Failed to connect to https://changelogs.ubuntu.com/meta-release-lts. Check your Internet connection or proxy settings
    
    
    Last login: Sun Aug 14 17:01:27 2022 from 192.168.100.1
    /usr/bin/xauth:  file /root/.Xauthority does not exist
    root@zxl:~# hostname -I
    192.168.100.36 
    root@zxl:~# ping 114.114.114.114
    PING 114.114.114.114 (114.114.114.114) 56(84) bytes of data.
    64 bytes from 114.114.114.114: icmp_seq=1 ttl=128 time=48.2 ms
    64 bytes from 114.114.114.114: icmp_seq=2 ttl=128 time=47.7 ms
    ^C
    --- 114.114.114.114 ping statistics ---
    2 packets transmitted, 2 received, 0% packet loss, time 1004ms
    rtt min/avg/max/mdev = 47.703/47.975/48.248/0.349 ms
    
    #查看DNS: /etc/resolv.conf
    root@zxl:~# systemd-resolve --status
    Global
              DNSSEC NTA: 10.in-addr.arpa
                          16.172.in-addr.arpa
                          168.192.in-addr.arpa
                          17.172.in-addr.arpa
                          18.172.in-addr.arpa
                          19.172.in-addr.arpa
                          20.172.in-addr.arpa
                          21.172.in-addr.arpa
                          22.172.in-addr.arpa
                          23.172.in-addr.arpa
                          24.172.in-addr.arpa
                          25.172.in-addr.arpa
                          26.172.in-addr.arpa
                          27.172.in-addr.arpa
                          28.172.in-addr.arpa
                          29.172.in-addr.arpa
                          30.172.in-addr.arpa
                          31.172.in-addr.arpa
                          corp
                          d.f.ip6.arpa
                          home
                          internal
                          intranet
                          lan
                          local
                          private
                          test
    
    Link 2 (ens32)
          Current Scopes: DNS
           LLMNR setting: yes
    MulticastDNS setting: no
          DNSSEC setting: no
        DNSSEC supported: no
             DNS Servers: 114.114.114.114
                          8.8.8.8
    root@zxl:~# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         192.168.100.2   0.0.0.0         UG    0      0        0 ens32
    192.168.100.0   0.0.0.0         255.255.255.0   U     0      0        0 ens32
    
    
posted @ 2022-08-15 03:06  天梯的脚印  阅读(261)  评论(0)    收藏  举报