IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Linux网桥配置及应用 -> 正文阅读

[系统运维]Linux网桥配置及应用

前言

近期需要搭建一个开发板上网的测试环境,于是顺便学习一下Linux的网桥配置。
实验环境为Virtualbox 6.1 + Ubuntu-20.04,虚拟机共享主机网络上网,通过usb以太网卡连接开发板,本文主要就是配置网桥连接usb以太网卡与虚拟机的主网卡,使开发板能通过网桥上网。

前置准备

虚拟机的配置不在本文描述,默认虚拟机可正常上网,并正常识别usb以太网卡,如下:

root@ubuntu01:~# ifconfig
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.0.2.15  netmask 255.255.255.0  broadcast 10.0.2.255
        inet6 fe80::a1cb:f3aa:e2c8:b366  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:2d:c9:da  txqueuelen 1000  (Ethernet)
        RX packets 403  bytes 393792 (393.7 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 382  bytes 51960 (51.9 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enx34298f742220: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 34:29:8f:74:22:20  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

如上enp0s3为虚拟机共享主机上网的网卡,enx34298f742220为usb以太网卡。
虚拟机的默认IP配置和路由配置也先记录一下,后续进行路由配置的时候直接复用即可:

root@ubuntu01:~$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.2.2        0.0.0.0         UG    101    0        0 enp0s3
10.0.2.0        0.0.0.0         255.255.255.0   U     101    0        0 enp0s3
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 enp0s3
192.168.56.0    0.0.0.0         255.255.255.0   U     100    0        0 enp0s8

关闭图形界面的网络配置,否则可能会干预我们后续在命令行进行的配置,如下:
在这里插入图片描述

网桥配置

使能IP转发,如下:

echo 1 > /proc/sys/net/ipv4/ip_forward

清除目标网卡的IP地址及路由:

ifconfig enp0s3 0.0.0.0
ifconfig enx34298f742220 0.0.0.0

添加网桥并绑定网卡:

brctl addbr br0
brctl addif br0 enp0s3
brctl addif br0 enx34298f742220

配置网桥IP,直接复用之前enp0s3的配置并使能:

ifconfig br0 10.0.2.15 netmask 255.255.255.0 broadcast 10.0.2.255 up

确认配置是否正确:

root@ubuntu01:~# ifconfig br0
br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.0.2.15  netmask 255.255.255.0  broadcast 10.0.2.255
        inet6 fe80::a00:27ff:fe2d:c9da  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:2d:c9:da  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 46  bytes 7881 (7.8 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

root@ubuntu01:~# brctl show
bridge name		bridge id			STP enabled		interfaces
br0				8000.0800272dc9da	no				enp0s3
													enx34298f742220

路由配置

在前置准备时我们保存了默认的虚拟机路由配置,现在直接还原即可,不过要把接口从enp0s3换成br0,如下:

route add default gw 10.0.2.2 dev br0

确认配置是否正确:

root@ubuntu01:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.2.2        0.0.0.0         UG    0      0        0 br0
10.0.2.0        0.0.0.0         255.255.255.0   U     0      0        0 br0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 br0
192.168.56.0    0.0.0.0         255.255.255.0   U     100    0        0 enp0s8

在虚拟机中ping一下外网,能ping通,即配置正确。
完成PC端配置后,再进行开发板的路由配置,首先配置开发板的IP地址(与网桥IP同一网段即可):

ifconfig eth0 10.0.2.200 netmask 255.255.255.0 broadcast 10.0.2.255 up

然后配置开发板的网关,同样参考虚拟机的默认路由配置:

route add default gw 10.0.2.2 dev eth0

在开发板上ping一下8.8.8.8,能ping通,即配置正确。

DNS配置

最后就是开发板上常规的DNS配置,如下:

vi /etc/resolv.conf:

nameserver 114.114.114.114
nameserver 8.8.8.8

在开发板上ping一下www.baidu.com,能ping通,即配置正确。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-06-25 18:26:09  更:2022-06-25 18:26:42 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 1:03:11-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码