# PNETLAB

PNETLAB網路模擬器

# PNETLAB 架設

#### **安裝Ubuntu 18.04 裸機安裝**

**將所有硬碟給ubuntu\_lv**

**[![image (1).png](https://note.homesitetw.com/uploads/images/gallery/2025-06/scaled-1680-/image-1.png)](https://note.homesitetw.com/uploads/images/gallery/2025-06/image-1.png)**

```
sed -i -e "s/.*PermitRootLogin .*/PermitRootLogin yes/" /etc/ssh/sshd_config
```

#### **新增Pnetlab sources.list**

```
nano /etc/apt/sources.list

deb [trusted=yes] http://repo.pnetlab.com ./
```

#### **安裝Pnetlab**  


```
echo "nameserver 8.8.8.8" > /etc/resolv.conf
apt-get update
apt-get purge netplan.io
apt-get install pnetlab -y

Note: May be get error in installing process. run apt-get update then install pnetlab again  apt-get install pnetlab -y
```

#### **安裝後為4.2.10，升級5.5.x版本**

```
bash -c "$(curl -sL https://drive.labhub.eu.org/0:/upgrades_pnetlab/bionic/install_pnetlab_v5_testing.sh)"
```

 [install\_pnetlab\_v5\_testing.sh](https://note.homesitetw.com/attachments/4)

#### **可新增只能ssh和telnet的使用者**  


```
adduser username
```

##### **修改Shell**  


**將該使用者的預設 Shell 修改為受限制的 Shell，例如 `rbash`（受限制的 bash）：**

```
usermod -s /bin/rbash username
```

**為該使用者創建一個專用目錄，並在其中放入 telnet 和 ssh 的執行檔，移除其他命令的訪問權限：**

```
mkdir /home/username/bin
```

**將 telnet 和 ssh 的執行檔建立符號連結到此目錄：**

```
ln -s /usr/bin/ssh /home/username/bin/
ln -s /usr/bin/telnet /home/username/bin/
```

**將該目錄設置為使用者的 PATH：**

```
echo "export PATH=/home/username/bin" >> /home/username/.bashrc
```

<p class="callout info">**因架設兩台pnetlab並將nat0網段拆分給兩台主機使用，故修改nat0網卡設定使兩台主機可以互相連入nat0後模擬器**</p>

[![image.png](https://note.homesitetw.com/uploads/images/gallery/2025-06/scaled-1680-/vEMimage.png)](https://note.homesitetw.com/uploads/images/gallery/2025-06/vEMimage.png)

##### **網卡設定**  


**編輯`/etc/network/interfaces`**

```
auto nat0
iface nat0 inet static
    bridge_ports natmac
    bridge_stp off
    address 10.0.137.1
    netmask 255.255.255.0
    up service udhcpd restart

    ###往另一台pnetlab路由
    up ip route add 10.0.137.128/25 via 192.168.0.2 dev pnet0 src 10.0.137.1
```