Skip to content

Commit

Permalink
Proxmox VE (PVE) 教学 (2) | 网络配置
Browse files Browse the repository at this point in the history
  • Loading branch information
undefined-hestudio committed Apr 21, 2024
1 parent 9748bd1 commit 642a8b3
Showing 1 changed file with 199 additions and 0 deletions.
199 changes: 199 additions & 0 deletions src/posts/pve-2-network-interface.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,199 @@
---
title: Proxmox VE (PVE) 教学 (2) | 网络配置
tag:
- Proxmox VE
- Linux
- 虚拟化
- 运维
category: Proxmox VE
---

在这篇文章中,我将记录我在网络配置上遇到的问题以及填坑方案。如果这里面也有你遇到的问题,你可以按需阅读。

### 更改默认绑定网卡

我在安装 PVE 之后,将该硬盘移到其他机器上,由于硬件设施的变动,导致我们无法连接进入服务器。我们需要修改`/etc/network/interfaces`文件。

在 PVE 中,默认安装的文件编辑器是`nano`,我们使用`nano`编辑`/etc/network/interfaces`文件。

```bash
nano /etc/network/interfaces
```

<!-- more -->

---

我先讲一讲我的案例,这是我的配置文件,对于刚安装的设备,配置文件基本都差不多,只是网卡和 IP 地址不一样。

我的配置文件如下:

```yml
# network interface settings; autogenerated
# Please do NOT modify this file directly, unless you know what
# you're doing.
#
# If you want to manage parts of the network configuration manually,
# please utilize the 'source' or 'source-directory' directives to do
# so.
# PVE will preserve these directives, but will NOT read its network
# configuration from sourced files, so do not attempt to move any of
# the PVE managed interfaces into external files!

auto lo
iface lo inet loopback

iface enp2s0 inet manual

auto vmbr0
iface vmbr0 inet static
address 192.168.3.100/24
gateway 192.168.3.1
bridge-ports enp2s0
bridge-stp off
bridge-fd 0

source /etc/network/interfaces.d/*
```

查看网卡信息

```bash
ip addr
```

输出结果如下:

```plaintext
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master vmbr1 state UP group default qlen 1000
link/ether c0:3f:d5:7f:d6:6c brd ff:ff:ff:ff:ff:ff
3: wlp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 24:fd:52:7c:52:93 brd ff:ff:ff:ff:ff:ff
4: vmbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000
link/ether f6:82:86:c8:d2:33 brd ff:ff:ff:ff:ff:ff
inet 192.168.3.100/24 scope global vmbr1
valid_lft forever preferred_lft forever
```

很明显的是,`iface enp2s0 inet manual``bridge-ports enp2s0``ip addr`的输出结果并不匹配,所以需要修改成对应的`enp1s0`

在修改后,我们需要使其生效。PVE 中内置了`ifupdown2`,我们依次执行以下命令使得修改生效。

```bash
ipdown vmbr0
ifup enp1s0
ifup vmbr0
```

### 通过无线 WIFI 连接

先讲一下我的网络布局吧。

家庭网络通过光纤入户,然后接入光猫(`192.168.1.x`),家庭主路由器(`192.168.0.x`)接入光猫并提供无线连接服务。我需要布局一个软路由以及 NAS 服务,以及一个用于调试软件的 Ubuntu Server 和用于远程办公的 Windows 系统。我在这个专栏的教程也会围绕着这些内容来写。由于我的房间在装修的时候没有预留网线(家里人自己搞的,忘了放网线了),所以在我的房间的网络都要通过无线连接。

我有两台电脑,均有一个有线网卡和一个无线网卡,还有一个华为路由器(`192.168.3.x`)。在我的设计中,我将其中一台电脑作为 PVE 的服务器(另一台电脑用于写稿子),将网络通过 PVE 服务器(以下简称服务器)的无线网卡引入到服务器,将网络通过 OpenWrt 路由后然后通过有线网卡输出到华为路由器并为我其他的虚拟机和实体设备提供网络服务。

当然这具体的网络配置将会在下期的文章中详解。在这里我们讲述一下如何连接无线网络和将无线网络作为管理端口。

---

首先确保你的设备检测到了你的无线网卡,我们可以参考上面的*更改默认绑定网卡*节中的方法(通过`ip addr`查看)。我在设备上安装了一张高通的 PCIE 网卡,系统中已经集成了它的驱动,所以可以直接显示(上面的`wlp2s0`网卡,`e`开通的为有线网卡,`w`开头的为无线网卡)

PVE 中并没有提供连接无线网络所需的工具,所以需要安装它们。

- 如果你的服务器可以连接网络,你可以直接通过命令行安装:

```bash
apt-get install wpa_supplicant
apt-get install wireless-tools
```

- 如果你的服务器无法连接网络,你可以通过下载以下的资源包,然后手动导入安装。

- [下载通道 1(访问密码:8692)](https://url55.ctfile.com/f/55670755-1060005940-5b408f?p=8692)
- [下载通道 2](https://download.csdn.net/download/a18845594188/89185527)

在下载后,你需要准备 sftp 传输工具,比如 xftp,然后把下载好的资源包解压后(为什么要求解压后呢,因为服务器未安装`unzip`)上传到服务器的同一个文件夹,然后全部安装。

```bash
dpkg -i *.deb
```

---

安装后,我们在服务器上搜索网络。

```bash
iwlist [网卡名称] scanning | grep "ESSID"
```

看看输出列表有没有你们家的WIFI名称,如果有的话,就继续。如果没有,就是网卡收不到WIFI信号或者网卡不支持指定的协议。

我的输出是这样的

```plaintext
ESSID:"FAST_5G_9F49"
ESSID:"HUAWEI-B1C6FR"
ESSID:"HUAWEI-B1C6FR"
ESSID:"HUAWEI-B1C6FR_Wi-Fi5"
ESSID:"CU_efe5"
ESSID:"FAST_9F49"
```

第一个是我已经连接的WIFI(如果你连接完成之后)。它的排列顺序是按照信号强弱顺序排列的(跟你手机的一样)。

---

假设我们要连接`FAST_5G_9F49`,我们需要将其复制下来并生成密码。

> Linux终端与Windows不同的是,Windows终端基本不区分大小写,而Linux终端(或者几乎任何操作)都是区分大小写的。

```shell
wpa_passphrase [WIFI名称] [WIFI密码]
```

你会得到类似以下的输出

```plaintext
network={
ssid="[WIFI名称]"
#psk="[WIFI密码]"
psk=[WIFI密码的密钥值]
}
```

我们需要复制这个PSK值。

---

1. 打开`/etc/network/interfaces`文件
2. 添加以下内容
```yaml
auto [网卡名称]
# 如果你使用静态IP
iface [网卡名称] inet static
address [你要分配的IP地址,如192.168.4.1/24]
gateway [网关地址]
wpa-ssid [WIFI名称]
wpa-psk [WIFI密码的密钥值]
# 如果你使用动态IP
iface [网卡名称] inet dhcp
wpa-ssid [WIFI名称]
wpa-psk [WIFI密码的密钥值]
```
> 为了方便管理,我们推荐你使用静态IP
3. 重启网络
```bash
ifdown [网卡名称]
ifup [网卡名称]
```

0 comments on commit 642a8b3

Please sign in to comment.