我的需求:
记得最开始学Linux的时候,使用VM虚拟机安装,配置网络,希望可以和主机互通,同时希望可以访问外网,改配置文件,照着网上的博客,改了又改,捣鼓了好几天也弄不好。
我需要解决的问题:
后来工作了慢慢会了,而且网络的管理工具也变了,对于centos来讲,network.service变成了NetworkManager.service,配置方式更多的是通过命令,或者UI界面的方式去配置,一般不去修改配置文件了,这里和小伙伴讲解一下linux的网络配置,希望小伙伴们学的时候不会乱糟糟的改配置文件,同时对于虚拟网络类型有个大概的了解。
我是这样做的:
我们这里使用的linux的版本为 Centos 7 ,本文主要讲解:
- Linu虚拟网络配置的常用方式
- Linxu常用的网络配置命令
一个成熟的人没有任何职责,除了这个:寻找自己,坚定地成为自己,不论走向何方,都往前探索自己的路。——赫尔曼·黑塞《德米安》
一、Linu虚拟网络配置的常用方式
1、桥接模式
1、为什么要叫桥接模式?
关于桥接模式,是设计模式的一种,了解过设计模式的小伙伴应该不陌生,这里简单回忆下,没有了解得直接忽略,不重要。
桥接模式,桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦,我们看一个java的Demo |
|
使用相同的抽象类方法但是不同的桥接实现类,来画出不同颜色的圆 |
创建桥接实现接口DrawAPI.java
public interface DrawAPI {
public void drawCircle(int radius, int x, int y);
}
创建实现了 DrawAPI 接口的实体桥接实现类。RedCircle.java,GreenCircle.java
public class RedCircle implements DrawAPI {
@Override
public void drawCircle(int radius, int x, int y) {
System.out.println("Drawing Circle[ color: red, radius: "
+ radius +", x: " +x+", "+ y +"]");
}
}
public class GreenCircle implements DrawAPI {
@Override
public void drawCircle(int radius, int x, int y) {
System.out.println("Drawing Circle[ color: green, radius: "
+ radius +", x: " +x+", "+ y +"]");
}
}
使用 DrawAPI 接口创建抽象类 Shape。Shape.java
public abstract class Shape {
protected DrawAPI drawAPI;
protected Shape(DrawAPI drawAPI){
this.drawAPI = drawAPI;
}
public abstract void draw();
}
创建实现了 Shape 抽象类的实体类。Circle.java
public class Circle extends Shape {
private int x, y, radius;
public Circle(int x, int y, int radius, DrawAPI drawAPI) {
super(drawAPI);
this.x = x;
this.y = y;
this.radius = radius;
}
public void draw() {
drawAPI.drawCircle(radius,x,y);
}
}
使用 Shape 和 DrawAPI 类画出不同颜色的圆。BridgePatternDemo.java
public class BridgePatternDemo {
public static void main(String[] args) {
Shape redCircle = new Circle(100,100, 10, new RedCircle());
Shape greenCircle = new Circle(100,100, 10, new GreenCircle());
redCircle.draw();
greenCircle.draw();
}
}
类比虚拟机网络连接这一块,linux系统联网是一个抽象行为,他需要网卡才可以和外部连接,那么网卡就是他的一个桥接接口,我们通过网卡的实现类来实现网络的互通,这里我们有两种网卡,真机的物理网卡, 虚机的虚拟网卡,所以有两个桥接实现类,通过桥接模式,我们解耦了联网这种抽象行为和具体网卡的联网实现。
2、桥接模式可以做什么
下面回到正题,我们要通过桥接模式,实现这样一个场景,就拿我们常用的笔记本来说,我要通过笔记本上的无线网卡连接公网,然后通过虚机配置桥接模式,实现我的虚机可以ping通真机,也可以ping通公网,同时多个虚机可以ping通.
在实际的工作中,我们需要一个交换机可以完成这样的需求,VM的桥接模式帮我们虚拟了一个交换机,配置桥接模式后,我们虚机和真机就位于一个网段内,且掩码相同,彼此可以ping通。
虚机网卡 与 真机网卡 通过桥接实现;桥接物理网卡,相当于直连到 真机 所在网络;配置桥接模式后:
真机网卡信息,使用的无线网卡,ip为192.168.1.4
虚机网卡信息,linux网关查看, 、 可以看出虚机的网络ip为:192.168.1.10
┌──[root@master]-[~]
└─$ ifconfig ens33 关键词:虚机安装Linux网络设置(虚拟机安装linux网络设置)