我们先了解下IP的概念

IP地址简介

  • 电脑连接互联网的必要条件:IP地址+子网掩码+网关+DNS
  • IP地址是上网的唯一标识

- IPv4地址分类:

IPv4地址分为A-E共计5类地址,其中A、B、C是基本类,D、E作为多播和保留使用



特殊地址

  1. 0.0.0.0:常用于缺省路由,比如:ip route-static 0.0.0.0 0.0.0.0 10.10.10.1
  2. 255.255.255.255 :指本网段内的所有主机
  3. 127.0.0.1:Localhost,本地回环地址
  4. 224.0.0.1 :组播地址,特指所有主机
  5. 169.254.x.x :通常是Windows操作系统在DHCP租用失败时自动给客户机分配的IP地址

私有地址:

(企业内部分配的地址,不会出现在互联网的路由表中)

  1. 10.x.x.x
  2. 172.16.x.x ~ 172.31.x.x
  3. 192.168.x.x

一、Ubuntu系统配置IP

1)Ubuntu 18.04以前版本

vi /etc/network/interfaces
auto enp10s0
iface enp10s0 inet static
address 192.168.1.2
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 114.114.114.114,8.8.8.8
/etc/init.d/networking restart #重启网卡服务

2)Ubuntu 18.04以后版本(包含18.04版本)

vi /etc/netplan/50-cloud-init.yaml
network:
version: 2
renderer: networkd
ethernets:
enp10s0:
dhcp4: no
addresses: [192.168.1.3/24]
gateway4: 192.168.1.1
nameservers:
addresses: [114.114.114.114,8.8.8.8]
netplan try #检测配置文件是否有误。若语法有误,不生效;检测通过则配置生效
netplan apply #跳过检测环节,直接应用配置文件

如果还想使用Ubuntu 18.04以前版本的方式配置IP,则安装ifupdown软件包即可

apt install ifupdown

二、CentOS(Redhat)系统配置IP

1)CentOS/Redhat (5.x、6.x、7.x)

vi /etc/sysconfig/network-scripits/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
TYPE=Ethernet
BOOTPROTO=static
IPADDR=192.168.1.4
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=114.114.114.114
DNS2=8.8.8.8
service network restart #重启网卡服务

2)CentOS/Redhat (8.x)

  1. 配置静态IP
# 创建ens33网卡配置信息,包含:指定永久静态IP、网关、并ifup启动
nmcli connection add type ethernet con-name ens33 ifname ens33 ipv4.addr 192.168.1.5/24 ipv4.gateway 192.168.1.1 ipv4.method manual
  1. 配置动态IP
# 创建ens33网卡配置信息,指定动态获取IP,并ifup启动
nmcli connection add type ethernet con-name ens33 ifname ens33 ipv4.method auto
  1. 修改IP(非交互式)
[root@qll253 ~]# nmcli connection modify ens33 ipv4.addresses 192.168.1.6/24
[root@qll253 ~]# nmcli connection up ens33 #相当于ifup ens33
  1. 修改IP(交互式)
[root@qll253 ~]# nmcli connection edit ens33
nmcli> goto ipv4.addresses
nmcli ipv4.addresses> change
Edit 'addresses' value: 192.168.1.7/24
Do you also want to set 'ipv4.method' to 'manual'? [yes]: yes
nmcli ipv4.addresses> back
nmcli ipv4> save
nmcli ipv4> activate
nmcli ipv4> quit
[root@qll253 ~]#
  1. 查看ip(类似于ifconfig、ip addr)
nmcli
  1. 以上通过修改配置文件更改网络配置的方式,是由network.service提供。
  2. centos8(rhel8)已废弃network.service,默认只能通过NetworkManager.service提供的nmcli命令修改网络配置
  3. 如果希望8版本以后支持修改配置文件的方式,我们只需要安装network.service即可

    yum install network-scripts

三、openSUSE 配置IP

vi /etc/sysconfig/network/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.8
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
service network restart #重启网络

四、总结

今天通过对主流的Linux系统配置IP的总结,觉得NetworkManager工具挺强大。大家以后可以多适应nmcli命令。

最后夸夸NetworkManager~

  • 工具齐全:命令行、文本界面、图形界面、web
  • 广泛管理:管理各种网络,有线、无线、物理、虚拟
  • 参数丰富:多达200多项配置参数(包括ethtool参数)
  • 通用性强:RedHat系、Suse系、Debian/Ubuntu系等,均支持
  • 大势所趋:下一个大版本的RHEL只能通过NM管理网络

Linux主流发行版本配置IP总结(Ubuntu、CentOS、Redhat、Suse)的更多相关文章

  1. Linux各个发行版本的介绍, 以及VirtualBox+CentOS的安装步骤

    Linux和Unix系统有哪些主要的发行版本 Unix: (非开源传统商业操作系统) IBM AIX, HP HP-UX, Sun Solaris,等 各家硬件厂商的发行版本, 往往是和自家的硬件设备 ...

  2. Ubuntu/centos/redhat/SUSE sipp安装(带rtp支持,3.5.1版本)

    1.ubuntu 12.04 apt-get install ncurses-dev apt-get install libpcap-dev ./configure --with-pcap make ...

  3. Linux主流发行版本

    一.简介 而工欲善其事,必先利其器,Linux的世界相當廣大,除了最著名的Ubuntu以外還有不少發行版.然文人相輕,自古皆然,了解不同發行版的優勢不只嘴上攻防用的上,也是學Linux一個有趣的地方! ...

  4. ubuntu 18及以上版本配置IP的方法,你get了吗

    本文讲讲 Ubuntu 18 及以上版本配置 IP 的方法,为什么它值得一讲,因为以 Ubuntu 16 为首的版本的配置方法已经不适用了,如果你还不知道,那本文正好 get 一个新技能. Ubunt ...

  5. Linux主要发行版本介绍

    Linux主要发行版本介绍 1.Red Hat Linux Red Hat是一个比较成熟的Linux版本,无论在销售还是装机量上都比较可观.该版本从4.0开始同时支持Intel.Alpha及Sparc ...

  6. Linux各发行版本简介

    简介 Linux 主要作为Linux发行版(通常被称为"distro")的一部分而使用.这些发行版由个人,松散组织的团队,以及商业机构和志愿者组织编写.它们通常包括了其他的系统软件 ...

  7. Linux各发行版本 优缺点 简介

    2008.01.21 13:43 Linux最早由Linus Benedict Torvalds在1991年开始编写.在这之前,RichardStallman创建了Free SoftwareFound ...

  8. CentOS 8及以上版本配置IP的方法,你 get 了吗

    接上篇文章讲了 Ubuntu 18及以上版本的配置方法,本文再来讲讲 CentOS 8 及以上版本配置 IP 的方法. Centos/Redhat(8.x) 配置 IP 方法 说明:CentOS 8 ...

  9. Android Linux自带iptables配置IP访问规则

    利用Linux自带iptables配置IP访问规则,即可做到防火墙效果

随机推荐

  1. 机器学习综合库gensim 简单搞定文本相似度

    不废话直接代码吧 # 1.模块导入 import jieba import gensim from gensim import corpora from gensim import models fr ...

  2. python udp socket通信

    前段时间学习了一下c++的socket通信,但发现那玩意儿比较复杂还是转向python了,下面就是一个简单的udpsocket通信程序,欢迎大佬前来指正 udp聊天 import socket # 创 ...

  3. [C/C++基础知识] main函数的参数argc和argv

    该篇文章主要是关于C++\C语言最基础的main函数的参数知识,是学习C++或C语言都必备的知识点.不知道你是否知道该知识?希望对大家有所帮助.一.main()函数参数通常我们在写主函数时都是void ...

  4. PHP基于Thinkphp5的砍价活动相关设计

    近期我们公司项目里陆陆续续有很多为了招引新用户的活动推出,砍价的活动由我来负责,我们的项目是在微信浏览器里供用户浏览访问. 大概描述:进入砍价活动列表页选择有意向的商品,用户点击商品图片可以看到WEB ...

  5. 为什么局部内部类访问外边的局部变量必须为final

    6.局部内部类访问外边的局部变量时,此变量必须为final类型 马克-to-win:由于技术方面的限制,java的设计者们做出如下语法规定:局部内部类访问外边的局部变量时,此变量必须为final类型, ...

  6. 大数据学习之路之sqoop导入

    按照网上的代码导入 hadoop(十九)-Sqoop数据清洗 - 简书 (jianshu.com) ./sqoop import --connect "jdbc:mysql://192.16 ...

  7. Vue报错Cannot read property 'split' of undefined

    今天在项目中处理后端返回的字符串需要使用split做一个字符串转数组的处理,之前项目都运行得好好的,今天突然出问题了,然后面向百度编程了一波,如果你也是用的异步向后端发送请求,可能你的问题和我一样,继 ...

  8. python并发——生产者消费者信号量实现

    介绍 写扫描器的时候,需要让资产扫描结果一出来(生产者),另外一边就会开个线程去运行漏洞扫描(消费者). 但是又不能让结果没出来,另外一边消费者就开始干活了. 代码 # *coding:UTF-8 * ...

  9. js模块系统 - amd|cmd|commonjs|esm|umd

    写过前端代码大概率听说过amd cmd umd commonjs esm这些名词, 想当初我第一次看到这些的时候, 人都麻了, 都是些啥啊. 后来我知道了, 这些都是js的模块规范. amd - 浏览 ...

  10. 前台js发请求参数与后台接参数的问题

    js函数中写参数,ajax中写参数,示例如下: function informationQuery(sign){//预警详情条件查询 $.get("/detail/informationQu ...