先日、プロバイダーのBiglobeはそのままに、コミュファからフレッツ光ネクスト【隼】にインターネット回線を切り替えたのですが、夜間の速度落ち込みが酷いため、V6プラスでの接続を追加しました。
ただ、Web サーバーやメールサーバーはポート開放をする必要があり、V6プラスでは利用できないため、ONU と HGW(NTT のホームゲートウェイ)の間にハブを追加して、そこから分岐して別途 PPPoEv4 用のルーターを繋げて、宅内ネットワークから見て、2系統のゲートウェイを用意して V6プラスと PPPoEv4 の接続をデフォルトゲートウェイを変更することで選択可能にしてあります。
しかし、Web サーバーでインターネットからデーターを取得する場合に、夜間の遅いときに動作に支障をきたすほどです。具体的には XOOPS Cube Legacy の X-update で legacy コアをダウンロードするのにタイムアウトととなってしまい正常に終了できません。
legacy コアは、10数Mバイトなのですが、これが5分のタイムアウトに引っかかるのですから、めっちゃ遅いことが分かると思います。
そこで、デフォルトルートを V6プラスのルーターにしておき、PPPoEv4 のルーターから入ってきた通信のみそのルーターに返すという仕組みにするばよいのではと考えていました。
ネットワークに疎いので、それをどのようにしたら良いのかが分からずに日にちが過ぎていたのですが、今日たまたまヒントとなるブログ記事に巡り合ったので、早速設定してみました。
そのブログ記事が
本当によく分からないので、とりあえず写経。
iptables で 特定のゲートウェイからの通信にマークをつけるとのこと。
「まっしろなめも帳」さんより引用
※ manglee tableをクリア # iptables -t mangle -F ※ 特定のMACアドレスから通信が入ってきた場合、1番のマークを付ける # iptables -t mangle -A INPUT -m mac --mac-source 【PPPoEv4 ルータの MAC アドレス】 -j MARK --set-mark 1 ※ 入ってきた通信の追跡ができるようmark情報を保存する # iptables -t mangle -A INPUT -j CONNMARK --save-mark ※ markがついていた通信の関連通信(今回はOUTPUT)のmarkを継続して付与する(save-markの情報をrestoreする) # iptables -t mangle -A OUTPUT -j CONNMARK --restore-mark
そして、引用元の記事では一時的なルーティングということらしいのですが、私は恒久的にしたいので /etc/sysconfig/network-scripts 以下に書き込みます。
# vim /etc/sysconfig/network-scripts/route-eth0
default via 【PPPoEv4 ルータの IP アドレス】 table 200
# vim /etc/sysconfig/network-scripts/rule-eth0
fwmark 1 table 200
そして、ネットワークサービスを再起動
# service network restart
念のため、グローバル IP アドレスの確認
$ curl inet-ip.info
V6プラス接続の IP アドレスになりました。
また、携帯の 4G 回線で確認し、外部からの Web サーバーに対するアクセスも問題ないことが確認できました。
問題がなければ iptables コマンドで変更した現在の設定を保存します。
# /sbin/service iptables save
「まっしろなめも帳」さんのお陰で助かりました!ありがとうございます。 :thumb_up:
尚、今回のネットワーク概略図はオンラインサービスの draw.io を利用して簡単に書いてみました。
追記: Raspberry Pi にも設定してみました - ネットワークで同一セグメント内の複数のゲートウェイに対応する (Raspberry Pi 編)
ぺージ情報 | |
---|---|
ぺージ名 : | nao-pon/blog/2017-04-14 |
ページ別名 : | 未設定 |
ページオーナー : | nao-pon |
閲覧可 | |
グループ : | すべての訪問者 |
ユーザー : | すべての訪問者 |
編集可 | |
グループ : | なし |
ユーザー : | ゲスト |