ランサーズ(Lancers)エンジニアブログ > SRE > ランサーズの社内Wi-Fi環境を改善した話 〜見えない無線との戦い〜

ランサーズの社内Wi-Fi環境を改善した話 〜見えない無線との戦い〜

uehara|2018年07月30日
SRE

SREチームの上原です。

ランサーズのSREチームでは、社内インフラの整備も担当しています。
今回は社内Wi-Fi環境の改善を行いましたので事例として共有いたします。

社内Wi-Fiが抱えていた課題

ランサーズ社内のWi-Fiは、大きく2つの課題を抱えていました。
いずれも常に発生していたわけではなく、月に何度か起きるといった状況です。

Wi-Fiに接続できないことがある

特定の場所やタイミングで、Wi-Fiに接続できない現象が発生していました。

DHCPが正常に動作しない

Wi-Fiに接続できたとしても、IPアドレスが正常に割り当てられずに通信が行えない場合がありました。

Wi-Fiチャンネルの整備

まずはSREチームメンバーと共に、Wi-Fiで使用するチャンネルの見直しから始めました。
対策として以下の2項目を実施しています。

  • 2.4GHz帯を原則無効化し、比較的安定する5GHz帯を利用してもらう。
  • チャンネル設定を手動に切り替え、6台あるアクセスポイント間で被らないように割り当てる。

当初は5.3GHz(W53)帯・5.6GHz(W56)帯も利用していましたが、気象レーダー等への干渉を防止する「DFS機能」によりチャンネルが突然切り替わる現象が頻発しました。

複数の組み合わせで検証を繰り返し、オフィス周辺で安定して利用可能なチャンネルを絞り込みました。

最終的には、5.2GHz(W52)帯および5.3GHz(W53)帯の特定チャンネルを利用することで安定しています。

電波送信範囲の制限

次に取り組んだのはアクセスポイント(AP)の負荷分散です。
電波出力が「100%」となっていたため、オフィス内のどこでも全APへ接続できる状況でした。

オフィス内を移動しても同じAPに繋ぎ続けるため、速度低下の一因となっていたようです。
また、フロアの中央にあるAPは端末が集中しやすく、接続台数の上限値に達することもありました。

対策として電波出力を弱める設定を適用しました。
APごとに担当エリアを区切ることにより、特定APへの集中を防いで負荷分散を図っています。

どこまで電波が飛んでいるかは目に見えないため調整には苦労しました。
実際の設定時には、AP付属の可視化ツールや、Wi-Fi電波を測定できるAndroidアプリなどを活用しています。

最低リンク速度の制限

アクセスポイントから離れると通信状況が悪化し、Wi-Fiのリンク速度が低下します。
リンク速度の低い端末が存在すると全体の通信効率が悪化してしまうため、低速での接続を禁止しました。

この手法は、カンファレンスネットワークなどで使われるテクニックを参考にしています。
今回は 24Mbps 未満での接続を無効化する設定としました。

アクセスポイントから離れてリンク速度が24Mbps未満となると接続が切断されます。
その結果、より近くのアクセスポイントへ再接続する動きが期待できます。

リンク速度の制限を厳しくすることで、Wi-Fi全体の通信効率が低下することを防ぎました。

DHCPリースの見直し

上記の対応でWi-Fiへの接続は安定しましたが、IPアドレスが正常に割り当てられない事象も発生していました。

原因を調査したところ、ピークの時間帯ではDHCP用のIPアドレスが枯渇していることが判明しました。
IPアドレス自体は十分な数を用意してあるものの、何故か不足しているといった状況です。

そこで、DHCPサーバ(ルータ)を確認したところ、リース期間のデフォルト値のみが設定されていました。
DHCPクライアントはリース期間の希望を出せるのですが(※)、希望が無ければデフォルトの期間が適用されます。

※参考: RFC2131

しかし、接続端末の大部分が72時間のリース期間を希望しており、デフォルト値は殆ど使用されていませんでした。
動作テストで一時的に接続しただけの端末でも、3日間はIPアドレスを確保してしまう状態です。

対策として、リース期間の最大値をDHCPサーバに追加設定しました。
クライアントが要求してきたリース期間が長時間であったとしても、最大値を上回ることはできません。

この設定により、DHCP用のIPアドレスが枯渇することはなくなりました。

Slackによる可視化

これまでWi-Fiに関する問題が発生した場合、社内メンバからの報告で気がつくことが殆どでした。
同様の現象が再発した場合に備えてモニタリング環境を整備しました。

ルータやアクセスポイントから下記情報を取得し、Slackの専用チャンネルへ定期的に通知しています。

  • ネットワークごとのDHCP利用状況(利用可能IPアドレスの残数)
  • アクセスポイントごとの接続台数

アラート閾値を設定しており、リソースが枯渇しそうな状況であればメンションが飛ぶように作られています。

まとめ

ランサーズの社内Wi-Fiが抱えていた課題に対する対策をご紹介しました。

アクセスポイントが複数存在する場合は、電波出力やリンク速度(通信レート)に制限を設けることで、接続端末数をある程度コントロールすることができます。
DHCPは最大リース期間にも制限を設けることで、IPアドレスの有効利用に繋がります。

社内ネットワークやWi-Fiでお困りの際に参考となれば幸いです。