PNet-Lab 使用笔记

内网环境建议先配置OpenWRT 透明路由,只用Proxy 代理的话还是会有问题

PNet-Lab 应该是我见过最好用的网工实验室了。它一般运行于VMware 或VBox 之上,也可以裸机安装。并且:

  • 相比于普通的客户端,它具有一个Web 界面,可以多用户同时使用
  • 相比于EVE,它支持热插拔
  • 自带了一款镜像管理软件ishare2,可以方便地下载很多镜像
  • 不建议再安装pnetlab-v5.*,因为维护起来好复杂

安装过程

通过下载官方提供的v6.ova 镜像。下载并运行虚拟机后可以使用root/pnet 登录。
但是在安装ishare2 的时候,会遇到sourcelist 报404 的问题,这时需要将其注释掉(在/etc/apt/sources.list 文件中注释掉含repo.pnetlab.com 字样的行)。
然后再安装并更新ishare2ishare2 gui

root@pnetlab:~# curl -o /usr/sbin/ishare2 https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/ishare2 > /dev/null 2>&1 && chmod +x /usr/sbin/ishare2 && ishare2  
root@pnetlab:~# ishare2 upgrade  
root@pnetlab:~# ishare2  
root@pnetlab:~# ishare2 gui install

裸机安装

裸机安装分两步,先是安装系统,这一步与官网的教程一致。但是后面因为repo 不再可用,所以需要使用以下命令安装:

user@pnetlab:~$ sudo -i # 进入root 账号  
# 升级到安装v5,前提是必须安装v4.10  
root@pnetlab:~#  bash -c "$(curl -sL https://labhub.eu.org/api/raw/?path=/UNETLAB%20I/upgrades_pnetlab/bionic/install_pnetlab_latest_v5.sh)" 

# 安装v6
root@pnetlab:~#  bash -c "$(curl -sL https://labhub.eu.org/api/raw/?path=/UNETLAB%20I/upgrades_pnetlab/Focal/install_pnetlab_v6.sh)" 

root@pnetlab:~#  reboot  

# 安装ishare2  
root@pnetlab:~# curl -o /usr/sbin/ishare2 https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/ishare2 > /dev/null 2>&1 && chmod +x /usr/sbin/ishare2 && ishare2  
root@pnetlab:~# ishare2 upgrade  
root@pnetlab:~# ishare2  
root@pnetlab:~# ishare2 gui install

使用踩坑

  1. 在VMware 中运行虚拟机时,要注意勾选VT-x 虚拟化支持。否则基于QEMU 的镜像在启动后会闪退。
  2. 部分qemu 镜像会启动失败,可以切换qemu 版本重试,或者干脆换个版本的镜像试试。
  3. 在下载了镜像之后,最好通过网页中的System --> System Setting --> Fix Permission 修复一下权限,尤其是下载了Windows 的镜像之后。

使用代理

可能会用到,在当前会话中使用代理,配置了OpenWRT 透明路由后此节将不再需要:

## 在国内设置系统代理,如果本地局域网中没有代理的话,可以安装v2raya 服务在系统上  
## 因为aria2c 工具需要用到下面两个环境变量,所以最好不要只使用all_proxy:  
root@pnetlab:~# export http_proxy=http://ip:port 
root@pnetlab:~# export https_proxy=http://ip:port 
root@pnetlab:~# export ftp_proxy=http://ip:port 
# root@pnetlab:~# export all_proxy=http://ip:port  
# 因为代理的原因 ishare2 gui 不可用  
# 并且ishare2 必须要走代理,所以可以将环境变量写入/etc/environment

# docker 切换国内源  
root@pnetlab:~# vim /etc/docker/daemon.json

# 添加如下属性:  
# "registry-mirrors": [
#     "https://dockerproxy.com",
#     "https://hub-mirror.c.163.com",
#     "https://mirror.baidubce.com",
#     "https://ccr.ccs.tencentyun.com"
# ]

# 重启docker 服务
root@pnetlab:~# systemctl daemon-reload
root@pnetlab:~# systemctl restart docker

V2rayA 代理的安装

配置了OpenWRT 透明路由后此节将不再需要。如果本地电脑上已经安装了v2ray 则只需启用局域网代理功能即可。如果没有,则可以在Ubuntu 上安装v2raya 服务,此服务会启动一个web 管理接口。万不得已再用此方法:

## 安装v2ray-core  
# 访问raw.githubusercontent.com 可能需要修改hosts  
curl  https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh > install-release.sh
sudo chmod +x install-release.sh
sudo ./install-release.sh

sudo systemctl disable v2ray --now  

## 安装v2raya 服务
wget -qO - https://apt.v2raya.org/key/public-key.asc | sudo tee /etc/apt/trusted.gpg.d/v2raya.asc  

echo "deb https://apt.v2raya.org/ v2raya main" | sudo tee /etc/apt/sources.list.d/v2raya.list
sudo apt update

sudo apt install v2raya

sudo systemctl start v2raya.service
sudo systemctl enable v2raya.service