当前位置: 首页 > news >正文

Ubuntu配置网络与静态IP地址的常见方法

这里的环境是虚拟机中的Ubuntu18版本的网络配置,使用虚拟机比较常见,因为主机一般是有线直连,配置很简单

1、NAT模式

虚拟机最简单的联网就是勾选“NAT模式”,不需要任何配置,主机能上网,虚拟机就可以上网,对于只需要上网来说是已足够,如下图:

2、仅主机模式

上面的NAT模式,IP地址不能更改也不能更改DHCP分配IP地址的范围,所以更灵活的是配置“仅主机模式” 勾选“将主机虚拟适配器连接到此网络”以及“使用本地DHCP服务将IP地址分配给虚拟机”如下图:

3、桥接模式

桥接模式能够外连到外网设备,什么意思呢?比如说主机插入一个USB的WIFI,然后主机里面的多个虚拟机是可以去主动连接这个USB-WIFI的,这样的意义在于可以将这些设备配置在同一网段里面,这个平时用的少,一些需要做分布式处理测试的时候比较方便。

4、静态IP

上述都是DHCP自动分配的动态IP,接下来我们来看下设置静态IP,很多场景很实用。

4.1、用户界面配置

我们打开网络设置(右上角的位置) ,点击“IPv4”,选择“Manual”(手动配置),分别输入IP地址Address、子网掩码Netmask、网关Gateway,以及DNS的可选,设置好了,点击右上角的 Apply(应用),如下图:

4.2、netplan

当然很多时候我们也习惯使用命令来操作,或者有时候远程的Linux服务器只有命令行界面的情况,我们可以修改网络配置文件来设置固定IP:

查看本机的IP情况:ifconfig 

ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.3.55  netmask 255.255.255.0  broadcast 192.168.3.255
        inet6 240e:338:c16:43a1:9017:c885:194a:4  prefixlen 128  scopeid 0x0<global>
        inet6 240e:338:c16:43a1:281d:8ea4:d748:21dd  prefixlen 64  scopeid 0x0<global>
        inet6 fe80::4531:a232:48b5:41f9  prefixlen 64  scopeid 0x20<link>
        inet6 240e:338:c16:43a1:53dd:958d:fd3e:1caf  prefixlen 64  scopeid 0x0<global>
        ether 00:0c:29:4b:0b:84  txqueuelen 1000  (Ethernet)
        RX packets 3152  bytes 4123672 (4.1 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1887  bytes 184966 (184.9 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 200  bytes 18080 (18.0 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 200  bytes 18080 (18.0 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

网卡名称是ens33,其中需要关注的是IP地址、子网掩码即可:inet 192.168.3.55  netmask 255.255.255.0
查看下IP路由表:route -n

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.3.1     0.0.0.0         UG    100    0        0 ens33
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 ens33
192.168.3.0     0.0.0.0         255.255.255.0   U     100    0        0 ens33  

关注网关即可:192.168.3.1

cd /etc/netplan
备份一份:sudo cp 01-network-manager-all.yaml 01-network-manager-all1.yaml 

修改网络配置文件:sudo gedit 01-network-manager-all.yaml 

network:version: 2renderer: NetworkManagerethernets:ens33:addresses: [192.168.3.110/24]gateway4: 192.168.3.1dhcp4: nonameservers:addresses: [114.114.114.114, 223.5.5.5]

注意事项:

IP地址:[192.168.3.110/24] 需要 /24

这个24是什么意思呢?我们知道IP地址是两部分组成,网络部分+主机部分,那如何区分呢?通过子网掩码,比如:255.255.255.0,就表示前面三个字节是网络部分,后面1个字节是主机部分,如果是,255.255.0.0,那么网络部分就是前两个字节,后两个字节是主机部分,所以我们这里是24,24位是3个字节, 表示192.168.3是网络部分,后面110表示的就是主机部分的其中一台主机

gateway4表示网关地址,dhcp4: no表示不动态分配

除了空格进行缩进对齐之外,冒号后面需要一个空格

应用新的配置:sudo netplan apply
重启网络:sudo service network-manager start

我们在网络设置中也可以直观看到,当然ifconfig命令也可以,如下: 

 

4.3、interfaces

另外一种在以前很常见的,修改:gedit /etc/network/interfaces

auto lo
iface lo inet loopback
auto ens33
iface ens33 inet static
address 192.168.3.110
netmask 255.255.255.0
gateway 192.168.3.1
dns-nameserver 114.114.114.114

sudo systemctl restart networking
sudo /etc/init.d/networking restart

在原来基础上新增的修改,可以进行IP地址的自由选择,打开网络配置

 选择之后,我们查看IP地址就会更改了。

上面就是对虚拟机中网络配置的三种形式以及配置静态IP的基础知识,希望可以帮助到大家

相关文章:

  • MySQL数据库的各种锁介绍以及它们之间的关系
  • 图解三傻排序 选择排序、冒泡排序、插入排序
  • 微服务架构——笔记(3)Eureka
  • 293_C++_告警类
  • Visual Studio 2017附加依赖项
  • 商城系统分布式下单
  • 【Spring Boot 源码学习】JedisConnectionConfiguration 详解
  • 软磁直流测试系统电参量指标
  • 【论文阅读】Generating Radiology Reports via Memory-driven Transformer (EMNLP 2020)
  • 基于Skywalking的全链路跟踪实现
  • 电机应用-直流有刷电机
  • 1212. 地宫取宝
  • 【解决问题】---- 解决 avue-crud 表格勾选数据翻页后界面保持选中
  • 使用PE U盘在VM Workstation中安装系统
  • 二十、泛型(4)
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • egg(89)--egg之redis的发布和订阅
  • es6要点
  • gops —— Go 程序诊断分析工具
  • JavaScript 奇技淫巧
  • Java多线程(4):使用线程池执行定时任务
  • niucms就是以城市为分割单位,在上面 小区/乡村/同城论坛+58+团购
  • PaddlePaddle-GitHub的正确打开姿势
  • PHP那些事儿
  • react 代码优化(一) ——事件处理
  • React-生命周期杂记
  • Swoft 源码剖析 - 代码自动更新机制
  • webpack4 一点通
  • yii2中session跨域名的问题
  • 从setTimeout-setInterval看JS线程
  • 第三十一到第三十三天:我是精明的小卖家(一)
  • 机器学习中为什么要做归一化normalization
  • 爬虫进阶 -- 神级程序员:让你的爬虫就像人类的用户行为!
  • 学习JavaScript数据结构与算法 — 树
  • 一、python与pycharm的安装
  • 一道闭包题引发的思考
  • 一些css基础学习笔记
  • 正则表达式小结
  • ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
  • #Linux(权限管理)
  • #Linux杂记--将Python3的源码编译为.so文件方法与Linux环境下的交叉编译方法
  • (八)Flask之app.route装饰器函数的参数
  • (转)Groupon前传:从10个月的失败作品修改,1个月找到成功
  • (转)shell中括号的特殊用法 linux if多条件判断
  • (转载)微软数据挖掘算法:Microsoft 时序算法(5)
  • .htaccess 强制https 单独排除某个目录
  • .NET LINQ 通常分 Syntax Query 和Syntax Method
  • .NET/C# 检测电脑上安装的 .NET Framework 的版本
  • .vimrc php,修改home目录下的.vimrc文件,vim配置php高亮显示
  • /proc/vmstat 详解
  • @Controller和@RestController的区别?
  • @property @synthesize @dynamic 及相关属性作用探究
  • @zabbix数据库历史与趋势数据占用优化(mysql存储查询)
  • [145] 二叉树的后序遍历 js
  • [2018-01-08] Python强化周的第一天