umikaki diary

ガジェットから日常まで

自宅のVPNサーバをSoftEtherVPNからOpenVPNに切り替えたお話

前々回のブログでSoftEtherVPNを構築した記事を書きました。

 

構築してしばらくは快適に使えていましたが、ここ最近VPN経由のダウンロードが遅く、0.02Mbpsまで低下してしまいました。

VPNの再構築、OSの入れ替え等々試しましたが改善しなかったため、SoftEtherVPNを使うのは諦め、OpenVPNを構築することにしました。

OpenVPNのサーバOS

LinuxのサーバOSについてはかなり意見が分かれるところだと思います。グローバルのデファクトスタンダードUbuntuみたいですが、日本はCentOSがシェアNo.1だそうです。私個人的にはデスクトップOSはUbuntu系、サーバOSはCentOSかなと思っています。以前UbuntuKVMを導入して動かしたところ不安定だったことがあったので、それ以来CentOSを使っています。

今回OpenVPNを構築するサーバもCentOSを使用しています。

OpenVPNのインストール

下記記事を参考に構築していきます。

構築したあとは、HGWのポート開放とパケットフィルタリングの設定で、UDP1194とTCP443を開けておきます。

なお、上記サイトの設定をしただけだとVPN経由でインターネットにつながらなかったため、下記サイトにある「iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE」と「net.ipv4.ip_forward=1」の設定も行います。

SoftEtherVPNからOpenVPNに変えてみて

VPN接続してないときと比べると若干速度は落ちるものの、それでも20Mbps以上は安定して出るようになりました。とりあえずこれで外出先からも自宅のサーバやPCにリモート接続ができるようになり一安心です。

KVMでDNSサーバ・DHCPサーバ・音楽サーバを構築した

前回、VPNサーバを構築した記事を書きました。

 VPNが使えるようになったことで、外出先から自宅のPCにリモートアクセスできたり、ビルドサーバでAndroidのビルドを行うことが可能になりました。

せっかくVPNが使えるようになったので色々サーバを建ててみたいよねということで、bindを使用した内部DNSサーバ、Jellyfinを使用した音楽サーバ、そしてDHCPサーバをKVMのゲストサーバとして構築しました。

内部DNSサーバの構築

家庭内LANでもホスト名+ドメイン名でアクセスしたいよねとのことで、内部DNSサーバを構築しました。

基本は以下のサイトの内容で構築できます。

ここで1点注意しなければならないのは、「dnssec-enable no;」「dnssec-validation no;」の部分です。これをしないとインターネットのホスト名(google.co.jp など)が解決できなくなります。

今回はすべて手動でDNSを定義していますが、サーバのホスト名を自動的にDNSに登録できたら便利だなぁと思ってしまう次第です…。

DHCPサーバの構築

DNSサーバが構築できたので、各サーバ、PCのDNSサーバ設定を構築したDNSサーバに指定してあげれば、LAN内(外部公開していない)にあるサーバへのアクセスが、ホスト名+ドメイン名でアクセスできるようになります。

しかし、DHCPサーバがHGWになっているため、DHCPで自動で設定される端末はHGWのDNSを見てしまいます。HGWでDNSの向き先を変えられれば問題はなさそうですが、auひかりのHGWは、DNSサーバが全て固定されて勝手に変更できないようになっています。

そこで、DHCPサーバも自前で構築し、DHCPで自動取得した端末に対しても内部DNSサーバを参照するようにしました。構築は下記サイトが参考になるかと思います。

なお、DHCPサーバ構築後は、HGWのDHCPサーバ機能は必ずOFFにします。

Jellyfinでの音楽サーバの構築

最後に、音楽サーバの構築です。これを構築すれば、家庭内LANにいる間はどの端末からでもブラウザから音楽を聴くことが可能になります。

今回はUbuntu 18.04 LTSにJellyfinを構築しました。構築手順は英語ですが下記サイトに記載されています。

構築後、ブラウザより「http://《構築したサーバのアドレス》:8096/」でアクセスが可能になります。私の場合は8096番ポートでアクセスするのが嫌だったので、Nginxを同時にインストールし、リバースプロキシを使って通常の80番ポートでアクセスできるようにしました。

ちなみに、音楽サーバを外部公開すれば外部からでもアクセスできるようになりますが、自分のミュージックライブラリを勝手に聞かれたりいじられたりするのが嫌、そしてセキュリティ的にも好ましくないため、外出しせず、外出先から聞く場合は必ず自宅へVPN接続をしてからアクセスするようにしています。

Jellyfinをインストールし、適当なフォルダーに音楽ファイルを入れ、ライブラリを作ってあげると、下記画像のようにライブラリが表示されます。

f:id:umikaki:20190403213749p:plain

Jellyfinのライブラリ画面

ただ、この場合のファイル転送はsftpで行ってあげる必要があるため、sambaを構築し、ライブラリのフォルダを共有するようにしてあげれば、直接コピーできるようになり便利になります。私の場合は、Jellyfinと同時にsambaも構築しました。

VPNの恩恵

VPNがあるおかげで、外出先でも家のサーバにアクセスできるのは大きなメリットです。自宅サーバについてはデメリットも大きいですが、VPSを借りるよりも手軽に内部ネットワークを構築できる点が最大のメリットだと私は感じています。

auひかりでSoftEther VPN環境を構築した

引越をし、フレッツ光からauひかりに変わったことで不便になったことがありました。それは外出先から自宅へのVPN接続ができなくなってしまったことです。

引越し前の環境では、フレッツ光にMAP-E接続(メイン)とPPPoE接続(VPN接続用)の2系統を用意し、デュアルスタックで接続していました。MAP-Eの方は自宅から外に出る用に、PPPoEについては外出先からLT2P/IPsecで自宅にVPN接続する用にし、PPPoEから接続してもIPoEにつながっている自宅の各サーバやPCにアクセスできるよう、静的ルーティングを組んでいました。

auひかりに変わってから、HGWでパススルーし、HGW配下にあるルーターから直接プロバイダに接続することができなくなりました。auから支給されたHGWはauからコントロールされるみたいで、ポート開放等の機能しかありません。また、HGWを介さずに接続することも不可能なようで、今までのやり方が通用しなくなってしまいました。

さて、どうしようかと考えた結果、自分でサーバにSoftEther VPNを構築することにしました。自宅ネットワークは以下のようになりました。

f:id:umikaki:20190330094848p:plain

自宅ネットワーク

上図ではHGWしか記載がありませんが、HGWの前にはONUがあり、ONU→HGW→各端末という流れになります。

HGW配下にある各端末は192.168.0.0/24のセグメントに属しており、SoftEther VPNで接続した端末には192.168.30.0/24のセグメントが割り振られ、VPNサーバ内のNATを介して自宅ネットワークに接続しています。

また、HGWの設定には、SoftEther VPNで使用するポートを開放する設定と、パケットフィルタリングで使用するポートのパケットを許可する設定を加えておきます。今回はOpenVPNを使用し、ポートはSSLで一般的に使用される443ポートを使用しています。

実際に構築してみる

まず、今までWindows 10 Proが入っていたサーバ(実態はデスクトップPC)にCentOS 7をインストールします。今回はKVMを使用し、仮想サーバを構築します。KVMでゲストOSをインストールする際にGUIを使用したいので、KDEデスクトップも合わせてインストールしておきます(手順については割愛します)。

KVMインストール後、各ゲストOSをインストールするのですが、ここで各ゲストもホストと同じセグメント(上図の場合は192.168.0.0/24)に属するようにしたいので、ブリッジ接続で構築します。KVMをインストールしたときvirbr0というNICが自動で構築されますが、これを使用してしまうとゲストOSからホストOSに接続ができなくなります。なので、一旦br0というブリッジ用のNICを作成し、そこにKVMのゲストを接続するやり方でインストールを行います。構築の仕方は下記ブログを参照してください。

f:id:umikaki:20190330100405p:plain

KVMの設定

そして、ゲストOSにSoftEther VPNを構築していきます。SoftEther VPNの構築は下記記事を参照してください。

今回は上記記事と同様、KVMUbuntu 18.04 LTSをインストール、その中にSoftEther VPNを構築しました。構築時にはポート開放も忘れずに行ってください。

構築すると、他のPCからSoftEther VPN Server Managerを使ってGUIで設定できるようになります。

f:id:umikaki:20190330101213p:plain

f:id:umikaki:20190330101216p:plain

SoftEther VPN Server Managerの設定

VPN接続するクライアントの設定

今回はOpenVPNで接続するので、OpenVPNで接続できるVPNクライアントソフトが必要になります。私のPCはMacBookですので、Tunnelblickを使用します。

OpenVPNでの接続に必要な設定ファイル(.ovpn)は、SoftEther VPN Server Managerの「OpenVPN / MM-SSTP Setting」より生成することが可能です。生成したファイルは、VPN接続するクライアントにあらかじめ配布しておきます。

そして接続

ここまでの構築で特に問題なく、そしてHGW側のポート開放設定もできていれば、OpenVPNで自宅へ接続することが可能になります。

接続できない場合は、ポートが適切に開放できているか、設定が間違っていないかをもう一度確認してみてください。私の場合は、最初1194/udpで接続しようとしましたが接続できず、443/tcpで接続するようにしたらうまく接続できるようになりました。

不具合…?

今のところ特に問題なく接続できていますが、VPNで接続すると、自宅のインターネットはIPv6対応にもかかわらずIPv4で接続されてしまいます。また、なぜかMastodonのストリーミングが流れなくなってしまいます。

おわりに

上記の設定で、晴れてVPNを手に入れることができ、外出先からでも自宅サーバや自宅PCにリモートアクセスできることが可能になりました。なお、auひかりもグローバルIPは動的IPだそうですが、めったに変わることはないそうで、半ば固定IPとして使えるみたいです。SoftEther VPNのデフォルト設定ではDDNSが有効になっていますが、無効でも特に問題はなさそうです。

「auひかり ホーム10ギガ」が開通した

3月になりました。今まで関西にいましたが、転職をしたので関東に戻ってきました。そう、引越です。

引っ越すということはネットも変わります。関西にいたときは賃貸マンションに導入されていたフレッツ光を使っていましたが、関東に引っ越したのでNTT西の設備は当然使えません。新居には共用のネット環境が導入されているみたいですが、当然ながらプライベートIPが降ってくる代物ですので、そのまま使うわけにはいきません。そして宅内に光コンセントもない。というわけで、管理会社の許可を得た上で、自分でホームタイプのインターネット回線を部屋に引き込むことにしました。

関東に来たからには、最大速度10Gbpsの回線を試してみたいよねという訳で、NURO光auひかりとで検討しましたが、独自の光回線を持つ「auひかり ホーム10ギガ」を契約。引っ越した日(昨日、3月2日)の午後に工事が入り、晴れて10Gbpsの回線を手に入れることができました。

結果はこちらです。

f:id:umikaki:20190303193218p:plain

最初はiMacに内蔵されているNICで使っていましたが、最大1Gbpsしか出ず、結果も下り600Mbpsほどでした。ですが、本日、Thunderbolt 2に挿せる外付けの10GBASE-T対応NICを購入。かなり値段が高かったですが、下記のようにちゃんと10Gbps出るようになったおかげで、本領発揮という感じです。

f:id:umikaki:20190303193441p:plain

下り実測2Gbpsの世界、数値上では爆速ですが、体感的にはページの読み込みがちょっと速くなった? っていう感じです。ただ、やはり家の固定回線は安定かつ速度重視という前提ですので、かなり満足しています。

あとはVPNが使用できるかどうかですね…。

ドコモの周波数に全て対応しているSIMフリーAndroid端末を探してみる

格安SIMとして認知されているMVNO(仮想移動体通信者)、その多くがドコモ回線を使用しています。MVNOスマートフォン端末を購入し使用している方も多くいらっしゃるかと思いますが、MVNOで販売されているスマートフォンは、ほぼ100%がSIMフリー端末となっています。

ドコモ回線を使うのであれば、ドコモが使用している周波数を全て使いたいよねということで、ドコモが使用している周波数を全て網羅しているAndroid SIMフリー端末を探してみました。

ドコモが使用している周波数帯

ドコモが使用している周波数帯は、下記の通りです。

LTE

Band1(2100MHz)、Band3(1800MHz)、Band19(800MHz)、Band21(1500MHz)、Band28(700MHz)、Band42(3500MHz)

W-CDMA

Band Ⅰ(2100MHz)、Band Ⅵ(800MHz)、〈Band ⅩⅨ(800MHz)〉*1

上記全ての周波数に対応するAndroid SIMフリー端末は?

Android SIMフリー端末の多くは、主要バンド(LTE Band1,3,19,28 W-CDMA Band I,Ⅵ)のみの対応となっており、Band 21、Band 42に対応している端末はほとんどありません。私の知っている限りは下記の端末のみです。

Google Pixel 3 / Pixel 3 XL

LTE: Band 1/2/3/4/5/7/8/12/13/17/18/19/20/21/25/26/28/29/30/38/40/41/42/48/66

W-CDMA: Band /Ⅱ/Ⅳ/Ⅴ//Ⅷ/ⅩⅨ

HTC U12+

LTE: Band 1/2/3/4/5/8/11/12/13/17/18/19/21/26/28/38/41/42

W-CDMA: Band /Ⅱ/Ⅳ/Ⅴ//Ⅷ/ⅩⅨ

Essential Phone PH-1

LTE: Band 1/2/3/4/5/7/8/11/12/13/17/19/20/21/25/26/28/29/30/38/39/40/41/42/43/66

W-CDMA: Band /Ⅱ/Ⅳ/Ⅴ//Ⅷ

Sony Xperia XZ Premium G8188

LTE: Band 1/2/3/4/5/7/12/13/17/19/21/28/38/39/40/41/42

W-CDMA: Band /Ⅱ/Ⅴ//Ⅷ/ⅩⅨ

ちなみに、SIMフリー市場でシェアNo.1のHuawei端末は、SIMフリー端末に限ると*2Band 21、Band 42に対応している端末はありません。

なお、iPhoneについてはSIMフリーモデルもキャリアモデルもスペックは同一なため、SIMフリーであってもBand 21、Band 42に対応しています。

まとめ

SIMフリー端末の多くは、トライバンドと呼ばれるBand 1,3,19と、Band 28のみに対応し、Band 21,42といった高速通信専用の周波数に対応しているものはほとんどありません。

ただ、キャリアアグリゲーションを有効に活用し、高速で通信したいことを考えると、Band 21,42といった帯域にも対応していてほしいなと個人的には感じています。

*1:現状LTE Band19に転用されており、対応する基地局はほとんどない

*2:ドコモ専売モデルとなったP20 Pro HW-01Kは、ドコモモデルなのでBand 21、Band 42に対応しています。

Android 9.0 Pieを自分用にカスタマイズしてみる

明けましておめでとうございます。前回の記事から約4ヶ月経ってしまいましたが、今回はAndroid 9.0 Pieについて書こうと思います。

Android 9.0 Pieは2018年8月7日に正式公開されました。

公開から半年近く経ち、徐々に各ベンダーのカスタマイズもされ、インストール可能な端末も増えてきています。キャリア端末も、AQUOSXperiaといった端末にも、徐々にPieへのアップデートが降ってきています。

Android 9.0 Pieの特徴

先代の8.1 Oreoからの新機能としてはいろいろとありますが、最大の特徴はUIが大幅に変更されたことです。

最近のスマートフォンはベゼルレスデザイン化しており、インカメラ、顔認証センサーをベゼルレスデザインに対応するために、画面上部に「ノッチ」と言われる切り欠きをつけた端末が増えてきています。このノッチがあることにより、ステータスバーの中央部にアイコン等表示することができなくなり、UIを見直さざるを得ない状態になっています。Android 9.0 Pieは、このノッチに対応させるため、ステータスバーの時計が左側になったり、クイック設定画面の上部に余白を設けたりして、ノッチ部分のデッドスペースを埋める工夫をしています。

f:id:umikaki:20190106112629p:plain
f:id:umikaki:20190106113427p:plain
Android 8.1のホーム画面とクイック設定画面
f:id:umikaki:20190106113429p:plain
f:id:umikaki:20190106113432p:plain
Android 9.0のホーム画面とクイック設定画面


上記2つの画像を比べてみても分かるように、特にクイック設定画面についてはアイコン等大幅にUIが変わっています。大きな特徴としては、ノッチ対応によりクイック設定画面の上にノッチの高さ分のデッドスペースができてしまったことでしょうか。ノッチのある端末については致し方ないとは思いますが、ノッチのない端末に関しては、余分な空白ができてしまったことにより、目障り感は否めません。

Android 9.0 PieのUIをカスタマイズしてみる

今回はノッチ非端末向けに、ステータスバーとクイック設定をカスタマイズしてみました。

具体的にはクイック設定のノッチ部分の削除、電池%表示の位置変更等になります。カスタマイズはLineageOS 16.0をフォークし、独自カスタマイズを行うというものです。やり方については以前のブログ(下記)をご覧ください。

カスタマイズ後は下記画像のようになりました。

f:id:umikaki:20190106141007p:plain
f:id:umikaki:20190106141003p:plain
Android 9.0(LineageOS 16.0)カスタマイズ後

クイック設定の上部にあったノッチ部分の余白は削除し、アンテナピクト等の表示を上部に入れています。なお、ステータスバーの時計位置についてはLineageOSの標準機能で変更可能です。

おわりに

UIについては好みが分かれる部分だと思います。私個人的にはOreo以前のUIが好きなので、Pieでもこのような表示にしたいと思いカスタマイズしました。

カスタムROMの自作の醍醐味は、このように自分の好きなUIにカスタマイズできることだと思います。現在まだ開発中ですが、近々公開できればと思っています。

LGのフラッグシップ端末「LG V30+」を2ヶ月間使ってみて ~良くも悪くもドコモ端末~

去る7月某日、10万という大金を叩いてLGのフラッグシップモデルである「LG V30+」を購入しました。LG端末は昨年発売された「isai Beat」以来です。もともとLG端末は好きな部類であったので、メイン端末として久しぶりに触りたくなり購入に踏み切ったわけです。

LG V30+は、ドコモ、auからそれぞれ「V30+ L-01K」、「isai V30+ LGV35」として発売されています。

ちなみにLG V30+のSIMフリーモデルは当然ながらなく、日本向けは上記2つのキャリアモデルしかありません。

正直、キャリアスマホはカスタマイズが大量になされているため、SIMフリーモデルが良かったのですが、日本で発売されていない以上キャリアモデルから選ぶしかありません。

メイン端末で使う以上、ドコモ回線を使うので、LGV35をSIMロック解除して使うのはあまりにもデメリットが多いため、L-01Kをほぼ消去法的に使うことにしました。

やっぱりドコモ端末はドコモ端末だった

ドコモ独占販売となったHuawei P20 Pro HW-01Kが、グローバル版と比べて機能が潰されており、グローバル版は評価が高いにもかかわらずドコモ版の評価は低いという現象が起きています。

L-01Kもドコモ端末であるため、多かれ少なかれドコモのカスタマイズがなされており、私からしてみればせっかくのハイスペック端末が台無しになってしまったと言わざるを得ません。

メーカ純正電話アプリがドコモアプリに置き換わっている!!

ドコモ端末にはドコモが開発した独自の電話アプリ(ダイヤラー)がプリインストールされています。GalaxyやXperiaはメーカ純正アプリもインストールされており、電話は主にメーカ純正アプリで受ける形となります。

しかし、それ以外の端末はメーカ純正のダイヤラーなぜかインストールされておらず、そこにあるのはドコモアプリのみ。UIもいつの時代のものかと思えるような作りで、使い勝手もよくありません。

f:id:umikaki:20180906111933p:plain f:id:umikaki:20180906112335p:plain f:id:umikaki:20180906112409p:plain

しかも、画面ロックが掛かった状態で応答するには、一回ロックを解除してから応答ボタンを押すという二度手間を踏む必要があります。誤操作防止という観点からそのような仕様になっているのだと思いますが、そのような仕様にした意図が全く読めません。

ホーム画面はお馴染みの羊が動き回るdocomo Live UX

f:id:umikaki:20180906112649p:plain

ドコモ端末には必ず入っているdocomo Live UX。重い上に使い勝手が非常に悪いです。おまけに羊がチョロチョロ動き回る始末。見ているだけで鬱陶しいです。最近ではmy dayzという四角いキャラクターに変わったみたいですが、使っている人はいるのでしょうか。

幸いにも、こちらはメーカ純正のアプリが消されずに残されているので、よほどdocomo Live UXの方がいいという人以外はメーカ純正のホームアプリを使ったほうが幸せになれるでしょう。

PREMIUM 4G対応のため、LTE接続時は常に「4G+」
アンテナピクトの本数は最大4本

ドコモ端末はLTE接続時、PREMIUM 4G対応機種は「4G+」、非対応機種は「4G」という表示をしており、この端末もLTE接続時はキャリアアグリゲーションの有無に関係なく「4G+」表示になります。

また、これはLGV35にも言えることですが、V30+のSIMフリーモデル(グローバル版)ではアンテナピクトの本数が5本になっているのに対し、こちらは4本になっています。Huawei P20 Pro HW-01Kもその点は準拠しており、SIMフリーモデルは5本ですが、ドコモ版は4本に変更されています。

スペックに関して

ここまでドコモのカスタマイズに関していろいろと文句を言ってきましたが、実際の端末スペックに関してはさすがハイスペックとだけあって、かなり良いものとなっています。

評価については様々なブログに上がっていますので、ここでは簡単にまとめたいと思います。

まず、画面ですがOLED(有機EL)を使用しているため発色が鮮やかです。解像度2Kの6.0インチとなっており、かなり画面は大きいです。

CPUはQualcomm Snapdragon 835(MSM8998)で、RAM 4GB、ROMは128GBと大容量です。SDカードも入りますが、128GBもあればSDカードも不要なのではないかと思います。

対応バンドはLTE:B1/3/21/19/42、W-CDMA:B1/6or19となっています。LTE B28(700MHz)には対応していません。

キャリアアグリゲーションに関してはCA_1-3-42-42の4CC_CAに対応しており、256QAMと合わせて下り最大788Mbpsとされています。

カメラに関してはリアカメラが裏面照射型CMOS/約1650万画素/約1310万画素(Wide)のデュアルレンズ、フロントカメラが裏面照射型CMOS/約510万画素となっています。カメラの性能に関してはP20 Proには及ばないものの、かなりきれいに撮影できると思います。

ドコモのカスタマイズは端末をダメにする

端末スペックに関してはフラッグシップモデルとだけあって、かなり高いです。しかし、キャリアのカスタマイズがそれを台無しにしている感は否めません。

お世辞にも使い勝手のいいとは言えないドコモの電話アプリしか入っていなかったり、絵文字がいつの時代の絵文字かと思わせるような絵文字に置き換わっていたりと、プリインアプリが追加されているだけでなく、キャリア独自のものに置き換わってしまっていて元に戻せないというのは、使用者からしてみれば残念でなりません。

日本の携帯市場はキャリア主導型と言われますが、その構造がこのようなところに影を落としているのが実態であり、その点は徐々に改善していってほしいと思います。

前回の記事で書きましたが、HTCがフラッグシップモデルであるHTC U12+をSIMフリーで投入しました。これを皮切りに、キャリアのカスタマイズが一切入っていない、SIMフリーのフラッグシップモデルが発売されていくことを切に願っています。