春雨日記 about me tags

はじめに

楽天モバイルのおかげで超快適なインターネット回線を手に入れたわけですが、最初はW05で満足していたものの、炎天下に晒していたところ動作が怪しくなり、かつプリンタのWi-Fi機能が2.4GHzしか対応してないせいでPCや携帯でも激混みの2.4GHzを使わざるを得ない状況に不満が溜まってきました。

というわけで、ARMはQuaStationやらで十分(悪い意味で)堪能していたのでX86系で探したところ、シンクライアントを狙うと良さそうな事が分かりました。

で、ヤフオクで適当に見繕い2800円で沢山出ていたWyse3040を購入してみました。

ちなみに今回選んだ条件は以下の通りです

  • X86系
  • 有線LAN
    • むしろ内蔵系だとhostapdやらで面倒なので、Wi-Fiは有線で繋いだアクセスポイントに任せようという算段
  • メモリ2GB以上
  • USB3.0もしくはSATAインターフェース

というわけで、Wyse 3040は結構理想型なわけです。 なんなら何も考えずに内蔵FlashにOpenWrtインストールするだけである程度ルーターになりそうですが、今回はNASにしたかったのとチューナー共有もやりたかったのでArch Linuxでいきました、

構成

これ図にする意味ある?って感じですが、こんな感じです。HDDは片方システム用、片方NAS・録画用です。

また、APにDHCPを殺したSoftBank Air4(もちろん純正FW)を利用することでローコストに仕上がっています。

セットアップ

OSインストール

Wyse 3040へのArchインストールはArch Wikiの通りやっていけば特に詰まること無いので飛ばします。場合によってはUSBブートを有効にする必要があるかもしれないです。 なお、低スペなので当然Xは入れません。

内蔵メモリにブートローダを入れてUSBブートを無効にすればセキュリティが向上するかも?

普通にEFIでインストールしました。

ステップ1: ネットワーク

ひとまず、W05を出口としてLANからインターネットに接続できるようにします。面倒なのでIPv6は無効としました。

めんどくさがりなのでNetworkManagerとfirewalldで全て終わらせようと思います。

1
pacman -S networkmanager firewalld

IP設定

IPの設定にはnmtuiを使うとグラフィカルに出来て便利です。

WANはDHCP、LANのIPは172.16.100.1/24としました。

また、IPv6をdisabledにしておきます。W05ならばフィルタリングが有効になっていると思いますが、将来的にWWANカードを繋ぎたいと思っているのでこうしています。

次にインターフェイスにゾーンを設定しておきます。この設定はfirewalldから参照されます。

なおeno0をイーサネット、usb0をW05としておきます。

1
2
nmcli c mod eno1 connection.zone internal
nmcli c mod usb0 connection.zone external
firewall-cmd --get-active-zone 

を実行し、さっきの2ゾーンがアクティブか確認

マスカレード設定

デフォルトのnftablesだと動かないのでiptablesに変えます。

1
nano /etc/firewalld/firewalld.conf
# FirewallBackend
# Selects the firewall backend implementation.
# Choices are:
#       - nftables (default)
#       - iptables (iptables, ip6tables, ebtables and ipset)
# Note: The iptables backend is deprecated. It will be removed in a future
# release.
FirewallBackend=iptables

そしてマスカレード設定

1
2
3
4
5
6
firewall-cmd --zone=external --add-masquerade --permanent
firewall-cmd --zone=internal --add-masquerade --permanent 

firewall-cmd --direct --add-rule ipv4 nat POSTROUTING 0 -o usb0 -j MASQUERADE 
firewall-cmd --direct --add-rule ipv4 filter FORWARD 0 -i eno0 -o usb0 -j ACCEPT
firewall-cmd --direct --add-rule ipv4 filter FORWARD 0 -i usb0 -o eno0 -m state --state RELATED,ESTABLISHED -j ACCEPT 

※参考 Firewalld : IPマスカレードの設定

あとはAPに繋ぐなりLANケーブル繋ぐなりして動くか確認しましょう。

サーバー機能をトッピング

書こうと思ったのですがsambaはここ見るまでもないしHDUSは誰得すぎるのでやめます笑

入れたサービスはこんな感じです

  • Samba
  • Mirakurun
  • EPGStation

まあ平均的録画サーバーですね笑

というわけで完成形

寝間着の私が若干映り込んでますが….