2020年1月6日月曜日

EdgeRouter X (ER-X)の基本設定とブロードバンドルーターとして設定する方法

Ubiquiti Networks EdgeRouter X (ER-X)と呼ばれる1万円程度で購入できるルーターがあり、Amazonで購入できることを知った。



ER-Xの特徴としては以下の通りとなる。
  • VyattaベースのEdgeOSが動作しており、VyattaやVyOSと同じコマンド体系でCLIを用いた設定投入が可能
  • VyOSと異なり、管理GUIによる設定が可能
  • ルーターとして必要なことは一通りできる。例えば、PPPoEによる接続、Firewall、NAT、ポートフォワーディングなど
  • Power over Ethernet (PoE)に対応
  • 購入日から2年間のセンドバック保証あり
いわゆる一般的なブロードバンドルーターとの一番の違いは、コマンドを用いたCLIによる設定が可能であることだ。

ただし、設定するためには一定以上のネットワークとVyattaの知識が必要とされる。ネットワークの理解を深めることを目的として、ブロードバンドルーターの置き換えにチャレンジするのもよいだろう。

今回、実際にER-Xを購入して、初期設定からPPPoEによるインターネット接続まで実施した。その設定手順を記載していく。

初期状態のconfig

初期状態のconfigは以下の通り。
ubnt@ubnt:~$ show configuration
interfaces {
    ethernet eth0 {
        address 192.168.1.1/24
        duplex auto
        speed auto
    }
    ethernet eth1 {
        address dhcp
        duplex auto
        speed auto
    }
    ethernet eth2 {
        duplex auto
        speed auto
    }
    ethernet eth3 {
        duplex auto
        speed auto
    }
    ethernet eth4 {
        duplex auto
        poe {
            output off
        }
        speed auto
    }
    loopback lo {
    }
    switch switch0 {
        mtu 1500
    }
}
service {
    gui {
        http-port 80
        https-port 443
        older-ciphers enable
    }
    ssh {
        port 22
        protocol-version v2
    }
}
system {
    host-name ubnt
    login {
        user ubnt {
            authentication {
                encrypted-password ****************
            }
            level admin
        }
    }
    ntp {
        server 0.ubnt.pool.ntp.org {
        }
        server 1.ubnt.pool.ntp.org {
        }
        server 2.ubnt.pool.ntp.org {
        }
        server 3.ubnt.pool.ntp.org {
        }
    }
    syslog {
        global {
            facility all {
                level notice
            }
            facility protocols {
                level debug
            }
        }
    }
    time-zone UTC
}
ここで確認しておくことは、以下となる。
  • 初期IPアドレスは192.168.1.1/24
  • eth0は上記固定IPアドレスが設定されている
  • eth1はDHCPによるIPアドレス設定がされる
  • 初期のユーザ名/パスワードはubnt/ubnt
とりあえずセットアップを始める際は、操作PCのIPアドレスを192.168.1.100などに設定し、eth0に有線接続して設定を進めるのがよいだろう。

初期設定

設定作業は一部を除き、原則CLIによる操作を行う。コマンドの記載において、$は操作モード、#は設定モードを表すものとする。設定モードへはconfigureコマンドで遷移するが、コマンドとしては省略して記載する。

ユーザ作成・削除

デフォルトユーザのubntとは別のユーザを作成したのち、ubntユーザを削除する。まずは、ユーザ名「admin」にて新規ユーザを作成する。
# set system login user admin authentication plaintext-password <パスワード>
# set system login user admin level admin
# commit
# save
adminユーザでログインしなおしたのち、ubntユーザを削除する。
# delete system login user ubnt
# commit
# save

タイムゾーン設定

初期設定のタイムゾーンは「UTC」となっているため、日本時間に変更する。
# set system time-zone Asia/Tokyo
# commit
# save

NTP設定

初期設定時は時刻が大幅にずれている可能性が高いため、手動で時刻を合わせておく。
$ set date
Possible completions:
  <MMDDhhmm>    Set system date and time
  <MMDDhhmmYY>
  <MMDDhhmmCCYY>
  <MMDDhhmmCCYY.ss>
  ntp           Set system date and time from Network Time Protocol (NTP) server
$ set date 010315172020
Fri Jan  3 15:17:00 JST 2020
初期configに投入されている不要なNTPサーバを削除し、必要なNTPサーバを設定する。今回はNICTのNTPサーバを設定した。
# delete system ntp server 0.ubnt.pool.ntp.org
# delete system ntp server 1.ubnt.pool.ntp.org
# delete system ntp server 2.ubnt.pool.ntp.org
# delete system ntp server 3.ubnt.pool.ntp.org
# set system ntp server ntp.nict.jp
# commit
# save

ホスト名変更

ホスト名を変えておく。
# set system host-name <ホスト名>
# commit
# save

インタフェース設定

インターフェースのIPアドレスは以下に設定する。
  • eth0 : PPPoE用途(設定方法は後述する)
  • eth1, eth2, eth3 : IPアドレスを192.168.33.254とし、switch0に所属させる
  • eth4 : 管理用ポートとしてIPアドレスを192.168.22.254とする

eth1, eth2, eth3をswitch0に所属させる

インタフェースにIPアドレスが設定されていると所属させることができない。eth1にはDHCPが設定されているため、まずはそれを削除する。
# delete interfaces ethernet eth1 address
# commit
switch0の設定を行う。
# set interfaces switch switch0 switch-port interface eth1
# set interfaces switch switch0 switch-port interface eth2
# set interfaces switch switch0 switch-port interface eth3
# set interfaces switch switch0 address 192.168.33.254/24
# commit
# save
設定確認をしてみる。以下のようになっていればOK。この後eth0とeth4のIPアドレスを変更することから、作業用PCのIPを変更しeth0からeth1に繋ぎ変えておくこと。
# show interfaces switch
 switch switch0 {
     address 192.168.33.254/24
     mtu 1500
     switch-port {
         interface eth1 {
         }
         interface eth2 {
         }
         interface eth3 {
         }
     }
 }

eth4の設定にIPアドレスを設定

eth4はシンプルにIPアドレスを設定するだけでよい。
# set interfaces ethernet eth4 address 192.168.22.254/24
# commit
# save

eth0にPPPoEを設定

インターネットに接続するため、PPPoEの設定を行う。ユーザ名やパスワードはプロバイダから提供されているものを設定する。MTUはフレッツ光系統であれば、1454に設定するようだが、ググれば情報が見つかるので、自身の環境に合わせて適切に設定すること。
# delete interfaces ethernet eth0 address
# set interfaces ethernet eth0 pppoe 0 default-route auto
# set interfaces ethernet eth0 pppoe 0 mtu 1454
# set interfaces ethernet eth0 pppoe 0 name-server auto
# set interfaces ethernet eth0 pppoe 0 user-id <ユーザ名>
# set interfaces ethernet eth0 pppoe 0 password <パスワード>
# commit
# save
接続確認は以下コマンドで行う。以下のように表示されIPアドレスが取得されているようであれば接続成功となる。
$ show interfaces pppoe
pppoe0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1454 qdisc pfifo_fast state UNKNOWN group default qlen 100
    link/ppp
    inet 101.102.103.104 peer 11.12.13.14/32 scope global pppoe0
       valid_lft forever preferred_lft forever
    RX: bytes  packets  errors  dropped overrun mcast
    2046       38       0       0       0       0
    TX: bytes  packets  errors  dropped carrier collsns
    2133       40       0       0       0       0

    RX:  bytes    packets     errors    dropped    overrun      mcast
          2046         38          0          0          0          0
    TX:  bytes    packets     errors    dropped    carrier collisions
          2133         40          0          0          0          0
以下のようにpppoe0: Coming upと表示される場合は、まだ接続できていないのでしばらく待つこと。いつまで待っても接続されない場合は、モデムとER-Xの再起動を行ってみること。
$ show interfaces pppoe
pppoe0: Coming up

MSS Clampingの設定

一般的なブロードバンドルーターでは、自動で設定されるため気にすることはないが、ER-Xの場合はMSS Clampingという設定をしなければ、一部サイトが閲覧できなかったり、応答が遅くなるといった事象が発生する。

本設定はGUIで実施した。管理GUIにログインし、「Wizards」→「TCP MSS clamping」にて設定することができる。MSSの設定値は、MTUから-40した値にすればよいらしい。今回の場合は1454 - 40 = 1414で設定する。


NAT (IPマスカレード)

インターネット接続をできるように、PPPoEのインターフェースに対して、IPマスカレードの設定を行う。送信元アドレスは、192.168.0.0/16を設定しているが、自身の環境に合わせて適切に設定すること。
# set service nat rule 5100 type masquerade
# set service nat rule 5100 outbound-interface pppoe0
# set service nat rule 5100 source address 192.168.0.0/16
# commit
# save

ポートフォワーディング設定

インターネットからアクセスさせたいサーバなどがある場合は、ポートフォワーディング設定を行う。

本設定はGUIで実施した。管理GUIにログインし、「Firewall/NAT」→「PortForwarding」にて設定することができる。


Firewall設定

インターネット→内部向け

デフォルト破棄(drop)で設定し、TCPの確立済み戻り通信を許可する。一部サイト接続時にUDP接続が必要だったのでUDP通信も許可しておく。
set firewall name OUTSIDE-IN default-action drop
# set firewall name OUTSIDE-IN rule 10 action accept
# set firewall name OUTSIDE-IN rule 10 state established enable
# set firewall name OUTSIDE-IN rule 10 state related enable
# set firewall name OUTSIDE-IN rule 20 action accept
# set firewall name OUTSIDE-IN rule 20 protocol udp
# set interfaces ethernet eth0 pppoe 0 firewall in name OUTSIDE-IN
# commit
# save

インターネット→PPPoEインタフェース向け

上記設定のみでは、インターネットから管理GUIやSSHなどにアクセスできてしまう。そのため、PPPoEのインタフェース自身への通信に対してもFirewall設定を行う。

デフォルト破棄(drop)で設定し、TCPの確立済み戻り通信とポートフォワーディングしたポートを許可する設定を行う。
set firewall name OUTSIDE-LOCAL default-action drop
# set firewall name OUTSIDE-LOCAL rule 10 action accept
# set firewall name OUTSIDE-LOCAL rule 10 state established enable
# set firewall name OUTSIDE-LOCAL rule 10 state related enable
# set firewall name OUTSIDE-LOCAL rule 20 action accept
# set firewall name OUTSIDE-LOCAL rule 20 description HTTPS
# set firewall name OUTSIDE-LOCAL rule 20 destination port 443
# set firewall name OUTSIDE-LOCAL rule 20 protocol tcp
# set firewall name OUTSIDE-LOCAL rule 30 action accept
# set firewall name OUTSIDE-LOCAL rule 30 description VPN
# set firewall name OUTSIDE-LOCAL rule 30 destination port 1194
# set firewall name OUTSIDE-LOCAL rule 30 protocol udp
# set interfaces ethernet eth0 pppoe 0 firewall local name OUTSIDE-LOCAL
# commit
# save

内部→インターネット向け

内部からの通信は特に制限する必要がないため設定しない。

まとめ

以上でER-Xの初期設定と、インターネット接続を行えるようにするまでの設定が完了となる。

ブロードバンドルーターでは特に気にしなかったMSS Clampingの設定や、UDP通信許可が必要なことなどでハマったが、最終的には使えるように設定できた。

0 件のコメント:

コメントを投稿

人気の投稿