• linux设置静态IP(Ubuntu、CentOS)


      准备工作

      我们要将一个主机设置成静态IP,首先,主机应该要是正常开机运行的,其次,我们需要先知道一些配置,比如当前的网段,子网掩码,网关、DNS等,因为你总不会是想随便配置,不连接访问局域网中的其它主机吧?而这些信息,我们可以通过运行中的主机得到,当然,如果你事前已知晓这些配置,可以跳过,如果不知道,可以慢慢看来:

      如果当前局域网内有windows系统主机,那么可以直接使用查看,鉴于各系统版本不一样,界面可能会有区别,所以不妨使用命令行查看:

      使用win+R键,输入cmd,打开命令行,输入:ipconfig /all,得到的结果中找到你所在局域网的适配器信息,从中可以得到当前的IP,子网掩码,网关、DNS等

       

      如果没有windows系统主机,那么看你有没有启用NetworkManager,如果启用了,那么可以类似windows的方式,直接使用:nmcli dev show ,查看所有的信息了:

      NetworkManager启用方式:  

        #Ubuntu需要安装,然后启动服务
        sudo apt install network-manager
        sudo systemctl start NetworkManager
    
        #CentOS一般会自带,只需要启动服务就可以了
        sudo systemctl start NetworkManager

      找到对应的网络,结果类似下面的样子(这里没有DNS,有的时候会有DNS,没有的话可以参考下面的方式得到)

       
      :这里子网掩码的两种表示形式,子网掩码的数字形式16,就是IP形式的255.255.0.0,数字24对应的就是255.255.255.0

      如果没有启动NetworkManager,那就只能使用命令一个个查看了,而查看这些信息的命令有很多,可以自行百度,这里说一种比较通用的

      DNS 

      linux的DNS信息保存在/etc/resolv.conf文件中,输入:sudo cat /etc/resolv.conf,其中nameserver就是DNS配置(可能会有多个nameserver):

       

      IPv4和子网掩码(netmask) 

      如果是Ubuntu,使用命令:ifconfig,在结果中找到你所在的局域网网络,对应的IP接子网掩码都在上面,同时注意前面的网络名,后面会用得上,比如我这里是ens33

       

      如果是CentOS,使用命令:ip addr,在结果中找到你所在的局域网网络,对应的IP接子网掩码都在上面,同时注意前面的网络名,后面会用得上,比如我这里是ens33

      

      网关(gateway)

      使用命令:ip route,其中default项就是默认网关:

      

      开始设置

      Ubuntu

      如果是Ubuntu16.04,需要修改/network/interfaces来实现,输入命令:sudo vim /etc/network/interfaces

        

      auto ens33
      iface ens33 inet static
      address 192.168.139.128
      netmask  255.255.255.0
      gateway  192.168.139.2
      dns-nameserver 192.168.139.2

      修改完成之后,使用:sudo /etc/init.d/networking restart 重启网络,然后就可以了,如果不行,可能需要重启主机了

      如果是Ubuntu18.04或Ubuntu20.04,设置静态网络可以使用netplan完成,在/etc/netplan目录下有个yaml文件(文件名可能都不一样)。

      输入命令:sudo vim /etc/netplan/50-cloud-init.yaml,(这里50-cloud-init.yaml是我的配置文件名,每个人的可能不一样)修改内容如下: 

        

    network:
      version: 2
      ethernets:
        ens33:
          dhcp4: false
          addresses: [192.168.139.128/24]
          gateway4: 192.168.139.2
          nameservers:
            addresses: [192.168.139.2]

      修改完成之后,使用命令:sudo netplan apply,来使得配置生效

      CentOS

      CentOS的每个网卡,在/etc/sysconfig/network-scripts目录下都会有一个 ifcfg-[网络名] 的文件,比如我的就是 ifcfg-ens33

      如果安装了NetworkManager,我们可以直接使用nmcli命令来配置:  

        #配置静态IP,ens33是网络名,192.168.139.130/24是IP和网卡,需要根据自己的实际填写
        sudo nmcli con mod ens33 ipv4.addresses 192.168.139.130/24
        #配置网关
        sudo nmcli con mod ens33 ipv4.gateway 192.168.139.2
        #配置IP为手动设置,即从dhcp变为static
        sudo nmcli con mod ens33 ipv4.method manual
        #配置DNS
        sudo nmcli con mod ens33 ipv4.dns "192.168.139.2"

      使用 nmcli 命令做的那些更改都将永久保存在文件 /etc/sysconfig/network-scripts/ifcfg-[网络名](比如我这里就是ifcfg-ens33)

      如果没有安装NetworkManager,我们可以手动的修改这个文件 /etc/sysconfig/network-scripts/ifcfg-[网络名](比如我这里就是ifcfg-ens33)

        

      ONBOOT=yes               # 开机启用
      BOOTPROTO=static         # 设置静态  
      IPADDR=192.168.139.130   # 设置的静态IP地址  
      NETMASK=255.255.255.0    # 子网掩码  
      GATEWAY=192.168.139.2    # 网关地址  
      DNS1=192.168.139.2       # DNS服务器

      安装自己的配置设置上图中的部分参数就可以了,(注意,如果配置项存在,就修改,不存在就添加,比如BOOTPROTO应该是存在的,需要修改dhcp成static

  • 相关阅读:
    31、状态模式(详解版)
    33、中介者模式(详解版)
    36、备忘录模式(详解版)
    34、迭代器模式(详解版)
    30、责任链模式(职责链模式)详解
    29、命令模式(详解版)
    32、观察者模式(Observer模式)详解
    37、解释器模式(详解版)
    35、访问者模式(Visitor模式)详解
    28、策略模式(策略设计模式)详解
  • 原文地址:https://www.cnblogs.com/shanfeng1000/p/16068673.html
Copyright © 2020-2023  润新知