
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も可能。

4.SophosFWの仮想マシン作成
偉大なる先駆者様の知恵を拝借。
上記の「Sophos XG firewall のVM作成」の内、空VM作成時のパラメータだけ参考にして、ディスク削除以降はせず。(元々DLしてあったISOがあったので)
5.ブリッジの作成
画面左のノード(今回はpve1)を選択して、右隣の「システム」‐「ネットワーク」を選択。
画面中央上部付近の「作成」から「Linux Bridge」を押下。

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

6.SophosFWのISOアップロード
localの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の設定周りとかまた記事を書こうかなと思っています。