会社で新しくインターネット回線を設置した話

会社のことなので、あまり詳しく書けませんが、誰かの参考になればと思います。

# ことの発端

とある案件で、GB単位のファイルのアップロードが遅いと外部から指摘を受けました。
普通にインターネットする分には全然不都合を感じていなかったので、腑に落ちないところはあります。
また正直な話、他人の設備についてケチをつけてくれるなという思いもありました。

今の会社のインターネット回線は、親会社の回線を間借りしている状態だったので何にもできないなとも思いました。
ですが社内のプロジェクトチームからの要望もあって、上長と社長に相談しました。

# やっぱり遅いんですけどね

親会社との関係はおいておいて、どのくらい遅いかというと、知ってはいたんですが、下りが50～60Mbps、上りは10Mbps出てないときがあります。
バックアップの回線もあるのですが、そちらに振ると少し早くなるんですが、それでも数十Mbps速くなる程度です。
普通に考えて、今どきの家庭用インターネットよりも遅いですね。。。

内外から仕事にならないと言われている状況もあってか、上も独自回線設置にはそれほど消極的ではありませんでした。
回線選定には親会社の情報システム部みたいな人にも協力してもらったようで、ついに会社で回線契約と相成ったわけです。

# そんなに簡単ではなかった

新しくビジネス用の光回線を引くのですが、契約・交渉・窓口関連は総務の人がしてくれたのですが、技術的なところや設置場所については私が見ることになりました。

と言っても家庭に光回線引くのと同じですね。
ビジネス用の手続きになっているということを除いては。

ビル共用部の工事、そこからテナントへの配線、モデム（ONU）の設置という感じです。

ただ、調査、工事、審査？やIPアドレスの発行、その他手続きなどで、回線開設までは2～3ヶ月はかかると見ていたほうがいいです。
あと私の会社の場合、ビルの共用部分の電話回線？が思いの外古かったらしく一度持ち帰り案件になって、若干開設が遅れました。

# 開設されてからはある意味簡単

回線工事が完了してONUが設置されると一応ラップトップに有線でつないでネットができました。
アドレスはブロードキャストアドレスになってたみたいです。

あとは管理画面にアクセスして、初期設定をしたりするんですが、会社名とか代表の名前とかを入れて私の方で設定しました。
メンテナンス情報とかを関係者に共有するためにメーリングリストのメアドを登録したりします。

ビジネス用のインターネット回線を契約するとIPアドレスがもらえます。
事前に通知書として来るのですが、そこには以下のような情報が書かれていました。

- ネットワークアドレス
- ブロードキャストアドレス
- 利用可能なIPアドレス
- ゲートウェイアドレス
- サブネットマスク

「ネットワークアドレス」に「サブネットマスク」を当てたものが、IPアドレスの範囲になります。（[サブネットマスク計算（IPv4)](https://note.cman.jp/network/subnetmask.cgi)）
ここには上記のアドレスすべてが含まれます。

この内、「利用可能なIPアドレス」が移行後の会社のIPアドレスになります。
設定は簡単で、「Linux　ルーター　構築」とかで検索すると出てきます。
例：[Linux（CentOS 7）でルータを構築する最も簡単な手順](https://turningp.jp/server-client/linux/linux-centos7-router)

Linuxサーバーの準備までは済ませて、あとは休日に切り替えをします。
平日仕事中にするといろんなところから苦情の嵐になるからです。

- 社内LANとモデムをブリッジするルーター用のLinuxサーバーを立てる。
- IPフォワーディングの設定をする。
- NICの設定をする。
    - NICの物理インターフェースが2つ必要。VMの場合はホスト機のそれぞれのNICに割り当てるネットワークアダプタを設定する。
- モデム側のNICの設定（`/etc/sysconfig/network-scripts/ifcfg-*`）に、「ゲートウェイアドレス」と「利用可能なIPアドレス」を設定。
- `if down <nic> && if up <nic>`で設定反映。
- コマンドでIPアドレスの確認。
    - [グローバルIPをcurlで確認](https://qiita.com/kanpou0108/items/734b947f5a95109e7bb9)

PPPoEの認証設定とか必要なのかなと思っていたのですが、そういうのがなくて簡単でした。
なんでも契約した回線はそういうのがなくて、共用・認証ありの回線と違って回線を独占できる？みたいです。

## デフォルトゲートウェイの変更

LANのDHCPサーバーの設定で`option routers`に上記のサーバーのLANのIPアドレスを指定、`service dhcpd restart`、DHCPを使う端末を新回線に移行します。
要はDHCPサーバーやネットワーク上の端末がデフォルトゲートウェイをどれにしているのかという問題なので、新しくもう一本回線を引いても収容できるサーバーがあれば問題ないわけです。

Windowsの場合、コマンドプロンプトで`ipconfig /renew`すると切り替わります。

あとは以下のサイトなどで、IPがサーバーに設定したものになっていることを確認します。
https://whatismyipaddress.com/

## もちろんファイアウォールを設定

CentOSでセットアップしたので、Firewalldで、開けるポート、ポートフォワードの設定などをしておきます。
また社内には外部からアクセス可能なウェブサーバーがありますが、そちらは旧回線の帯域のパブリックIPアドレスがあたっているので、無理に移行はしません。
DNSの書き換えとかがめちゃくちゃ面倒だし、管理も各案件の担当エンジニアにまかせているので。

## 面倒くさい場合は旧回線へルーティング

もちろん事前にアクセス制限のかかっているところには許可設定を入れてもらうように社内に周知していましたが、新回線の恩恵を受けられない案件や、設定が箇所が多いような案件、特殊な事情で旧回線が必要なものに関しては、新設したゲートウェイサーバーで旧回線に回り込むようにルーティングしました。

`/root/wakeup_script.sh`というファイルを作ってそこに`route`コマンドを書くわけです。
そして`sh /root/wakeup_script.sh`とします。

[【 route 】コマンド――ルーティングテーブルを管理する](https://atmarkit.itmedia.co.jp/ait/articles/1710/13/news013.html)

なぜこうするのか。

`/etc/rc.local`に`sh /root/wakeup_script.sh`と書いておくと、OS起動時にこのスクリプトを実行してくれるので、再起動時の設定漏れがなくなるからです。

`route`コマンドは何回同じコマンドを実行してもエラーを出して終わるだけなので、スクリプトファイルにまとめておきます。
Ubuntuとかだとそれようのファイルがあったりするみたいですが、CentOSでもあるのかな。

# お値段と性能

初期費用約12万円、月額約5万円ぐらいです。
問題の性能ですが、事前に知らされてはいましたが、下りは700Mbps、上りは800Mbpsを超えることもあります。

十分ですね。
日中計測しても500～600Mbpsだったので、全然余裕。

ことの発端になった案件でも、大幅な時間短縮になったそうです。
月額5万で中小企業のネットが快適になるのなら安いもんです。
また親会社の回線からインターネットが切り離されたことで、互いに迷惑を掛け合う自体が少なくなることが見込まれます。
いざとなったら、旧回線に切り替えるだけです。

# 気になること

## whois

whoisでIPアドレスを調べて見ると、ネットワーク会社の名前が出てくる。うちの会社の名前じゃないんですね。
そこは家庭用の回線と同じなのか。
ネットワーク系の会社としてはちょっとなぁって感じです。

## 通信ログを監視したほうがいい？

こういうの監視って何がいいんでしょうか。
たとえば一定期間tcpdumpのようなのようなログを残しておきたいとか。
Nagiosとかで監視？

世の中には振る舞い検知とか言うのがあるらしいですが、うちの会社では入れてもらえないだろうなとか思ったり。

# 普段から使っているもの

Chrome Extensionの以下のツールなんかは普段から使ってます。

- [Website IP](https://chrome.google.com/webstore/detail/website-ip/ghbmhlgniedlklkpimlibbaoomlpacmk)
- [IP Address and Domain Information](https://chrome.google.com/webstore/detail/ip-address-and-domain-inf/lhgkegeccnckoiliokondpaaalbhafoa)

# あと一応

私は会社の職種では開発部のサーバーエンジニアとなっております。
所属している人はだいたいというかほぼプログラマ。私もプログラマ。
ネットワークについてはちょっと勉強していますが、素人も同然です。（言い訳）
が、なんとかやりました。