見出し画像

ProxmoxVE と SophosFWで2.5GなLAN環境構築

やりたいこと

・安く2.5GなLAN環境を作りたい
・メインPC新調で退役した旧PCが暇そうにしていたので、使いたい

旧環境の紹介

NURO光
└ONU(NSD-G1000T)
 │【2.5Gのポート】
 └─メインPC(NIC:MBについてるI225-V)
他、WiFiでスマホ等接続

上の環境での問題点

・ゲーム(Rust)プレイ中に時々接続が切れる、ひどいときはタイムアウトしてサーバから切断される。

この際にONUの管理画面に入ると表示がめちゃくちゃ遅い…
発熱とかスペック的な問題で限界なのでは?

使うもの

・使っていないPC 1台
・2.5GのNIC

・11ax対応無線AP

・Cat5e以上のLANケーブル

完成図(NW構成図)


物理構成図


論理構成図

構築作業1(ProxmoxVE上での操作)

1.購入したNICを旧PCに追加

2.SphosFW Homeのライセンス発行、ISOダウンロード

既に持っていたので詳細は割愛。
「SphosFW Home」で検索すると公式サイトが出てくるので、指示通りに進むと、ISOのDLとシリアルの発行ができます。

3.ProxmoxVEのDLとインストール

この辺を参考に、インストール用のUSBメモリを作成~リポジトリの設定まで実施。

今回DLしたのはProxmox VE 7.2-1。
速度が遅い場合はBitTorrentでのDLも可能。

Proxmox VE 7.2-1

4.SophosFWの仮想マシン作成

偉大なる先駆者様の知恵を拝借。

上記の「Sophos XG firewall のVM作成」の内、空VM作成時のパラメータだけ参考にして、ディスク削除以降はせず。(元々DLしてあったISOがあったので)

5.ブリッジの作成

画面左のノード(今回はpve1)を選択して、右隣の「システム」‐「ネットワーク」を選択。
画面中央上部付近の「作成」から「Linux Bridge」を押下。

Linux Bridge

ここでSophosFWから見てWAN側になるブリッジを作成。
※今回はLAN側ブリッジのポートとして、メインPCにつながっているenp7s0とWiFiルータにつながっているeno1を選択。

ブリッジ作成

6.SophosFWのISOアップロード

localのISOイメージからアップロードできます。

※最初はISOが何も入っていない状態になっています。

7.SophosFW仮想マシンの設定

主にすることは2つです。
・CD/DVDドライブにSophosFWのISOマウント
・NIC追加

ISOマウントは「CD/DVD」選択して、画面上部の「編集」を押下。
あとはアップロード先のストレージを選択して、ISOファイルを選択。
NIC追加は、画面上部「追加」からネットワークデバイスを選択して、
ブリッジ「vmbr1」を選択してOKを押下。

8.起動

これで設定完了。
画面上部の「開始」を押して起動。

構築作業2(SophosFW上での操作)

1.インストール

起動してしばらくすると下記のような画面が出るので、yでインストール。
インストール後、再起動するか聞かれるので、再度yで再起動して、インストール完了。

インストール時の画面

2.起動後の初期設定

初期設定では、LAN側のIPアドレスが「172.16.16.16」固定なので、構成に合わせてCLI上で変更する必要がある。
初回起動時のパスワードは「admin」

1を押してEnter。

再度1を押してEnter。
すると、IPv4とv6のアドレス設定画面に入る。
Enterで画面遷移ができ、遷移順は以下の通り。
「NIC毎の現在の設定値」‐「IPv4のアドレス変更」‐「IPv6のアドレス変更」

3.Web管理画面にログイン

ここまで出来たら、あとはWebGUI上から初回設定を進める。
設定時のURLは「https://LANIPアドレス:4444」でアクセスして、進めていく。
※注意点として、最初の画面(下記画像)の右上で言語を変えて進めること。

その他、備考

1.ProxmoxVE上でのリンク速度の確認方法

本当に2.5Gでリンクしているのか確認するのは、ノードのシェルから下記のコマンド実行。

cat /sys/class/net/"インターフェイス名"/speed
実際の実行例

2.IntelNICがハングする件(I218-V)

下記が頻繁にSyslogに出力されていました。
出力されるタイミングは大量のトラフィックが流れたタイミング?(Speedtestした際に大量に出現)

Nov 04 16:09:14 pve1 kernel: e1000e 0000:00:19.0 eno1: Detected Hardware Unit Hang:
  TDH                  <5c>
  TDT                  <89>
  next_to_use          <89>
  next_to_clean        <5b>
buffer_info[next_to_clean]:
  time_stamp           <10008e8d7>
  next_to_watch        <5c>
  jiffies              <10008ea09>
  next_to_watch.status <0>
MAC Status             <80083>
PHY Status             <796d>
PHY 1000BASE-T Status  <7800>
PHY Extended Status    <3000>
PCI Status             <10>

以下、対処法
SSH or GUIのシェルから/etc/network/interfacesを編集

vi /etc/network/interfaces

auto eno1 ###ハングしているデバイス
iface eno1 inet manual
        ###以下追記
        post-up /sbin/ethtool -K eno1 gro off tso off gso off rx off tx off rxvlan off txvlan off sg off

デフォルトではethtoolがインストールされていないので、インストールする

apt-get install ethtool

現在の設定確認
※設定反映前なので今回問題になっているoffloadがONになっていること

root@pve1:~# ethtool -k eno1 | grep -v fixed
Features for eno1:
rx-checksumming: on
tx-checksumming: on
        tx-checksum-ip-generic: on
scatter-gather: on
        tx-scatter-gather: on
tcp-segmentation-offload: on
        tx-tcp-segmentation: on
        tx-tcp-mangleid-segmentation: off
        tx-tcp6-segmentation: on
generic-segmentation-offload: on
generic-receive-offload: on
rx-vlan-offload: on
tx-vlan-offload: on
receive-hashing: on
tx-nocache-copy: off
rx-fcs: off
rx-all: off
rx-gro-list: off
rx-udp-gro-forwarding: off

サービス再起動

service networking restart

再確認
各設定がOFFになっていること

root@pve1:~# ethtool -k eno1 | grep -v fixed
Features for eno1:
rx-checksumming: off
tx-checksumming: off
        tx-checksum-ip-generic: off
scatter-gather: off
        tx-scatter-gather: off
tcp-segmentation-offload: off
        tx-tcp-segmentation: off
        tx-tcp-mangleid-segmentation: off
        tx-tcp6-segmentation: off
generic-segmentation-offload: off
generic-receive-offload: off
rx-vlan-offload: off
tx-vlan-offload: off
receive-hashing: on
tx-nocache-copy: off
rx-fcs: off
rx-all: off
rx-gro-list: off
rx-udp-gro-forwarding: off

最後に

以上で基本的な設定は完了です。
IPv6の設定周りとかまた記事を書こうかなと思っています。

この記事が気に入ったらサポートをしてみませんか?