RTX810: LAN 内の FTP サーバを WAN 側に公開する方法の覚書

RTX810 を用いて、PPPoE で ISP に接続している場合で、LAN 内の FTP サーバを外部に公開する方法の備忘録。FTP サーバは 192.168.64.2 に存在するとする。

ip filter 1 pass * 192.168.64.2 tcp * 21
ip filter dynamic 1 * 192.168.64.2 ftp
nat descriptor type 1 masquerade
nat descriptor address outer 1 ipcp
nat descriptor address inner 1 auto
nat descriptor masquerade static 1 1 192.168.64.2 tcp 21

pp select 1
 ip pp secure filter in 1 dynamic 1
 ip pp nat descriptor 1
 (中略)
pp enable 1

ルータ側は以上の設定で、実際に外部から FTP 接続を行い、PASV モードであれば通った。動的フィルタのおかげで、データ通信用のポートとか考えなくてもよい。素敵だ。(基本的なルータ設定、PPPoE およびその他フィルタの設定は必要)

感想。動的フィルタって凄い。

続きを読む

RTX810: ルータの WAN 側から LAN 内へポート転送する例の覚書

YAMAHA RTX シリーズにおいて、WAN 側について PPPoE の動的 IPv4 割り当て、LAN 側は 192.168.64.0/24 のネットワークの場合で、以下のようなポート転送を設定する例である。

  • 192.168.64.128:80 について、ルータの外側 IPv4 、ポート番号 80 でアクセス可能
  • 192.168.64.129:80 について、ルータの外側 IPv4 、ポート番号 8080 でアクセス可能
pp select 1
ip pp secure filter in 200001 200002 200003 200009 200010 200020
ip pp secure filter out 210010 210020 210099
pp select none

ip filter 200001 reject 192.168.64.0/24 * * * *
ip filter 200002 pass * 192.168.64.0/24 icmp * *
ip filter 200003 pass * 192.168.64.0/24 udp 53 *
ip filter 200009 pass * 192.168.64.0/24 established * *
ip filter 200010 pass-log * 192.168.64.128 tcp * 80
ip filter 200020 pass-log * 192.168.64.129 tcp * 80
ip filter 210010 pass-log 192.168.64.128 * tcp 80 *
ip filter 210020 pass-log 192.168.64.129 * tcp 80 *
ip filter 210099 pass * * * * *

nat descriptor type 200 masquerade
nat descriptor address outer 200 ipcp
nat descriptor address inner 200 auto
nat descriptor masquerade static 200 1 192.168.64.128 tcp 80 
nat descriptor masquerade static 200 2 192.168.64.129 tcp 8080=80
  • YAMAHA ルータの場合、NAT Descriptor → フィルタの順番で処理されるので、80 番ポートに対してのフィルタだけでよい。(たとえば、pass-log * 192.168.64.129 tcp * 8080 などのフィルタは不要)
  • 10 → 13 行目は、ポート転送設定をしている通信を通す設定。ポート転送している部分の通信は、ルータのログに残したいので、フィルタで pass-log を指定している。(ログをとらない場合は、12 行目、13 行目はいらないし、ip secure filter out でそのフィルタを設定する必要はない)
  • 17 行目は、PPPoE なので「nat descriptor address outer 200 ipcp」の部分は「ipcp」である。
  • 18 行目、内側アドレスの指定は、「nat descriptor address inner 200 192.168.64.1-192.168.64.254」でもよい。
  • 19 行目、20 行目はポート転送の設定そのもの。

公式の「FAQ for YAMAHA RT Series / IP Packet Filter」を参照した方が早いと思う。

RTX810: HE Free IPv6 Tunnel Broker 設定メモ

Hurricane Electric Free IPv6 Tunnel BrokerYAMAHA RTX810 で IPv6 トンネルを設定した備忘録です。

とりあえず動いた、と言うもので、特にフィルタリングの部分については、全く自信が無いので、間違っていたらコメント等で突っ込んでいただけると凄く嬉しいです。

ちなみにルータの環境は、一般的な PPPoE でグローバル IPv4 が PP インタフェースに当たっていて、LAN 内クライアントは IP マスカレードで LAN1 インタフェースからインターネットへ出て行っているようなものを想定しています。

  • ネットワーク条件

    • RTX810 の LAN1 IPv4:
      192.168.1.1/24
    • RTX810 の LAN1 IPv6 :
      2001:DB8:1:1::1/64
    • トンネルのエンドポイント IPv4 :
      192.0.2.1
    • トンネル内サーバ側 IPv6 :
      2001:DB8:1:2::1/64
    • トンネル内クライアント側 IPv6 :
      2001:DB8:1:2::2/64
    • 割り当てられたネットワーク :
      2001:DB8:1:1::/64

    上記の情報について、トンネル関係の IPv4, IPv6 や、割り当てられたネットワークの情報は、HE でトンネルを設定した際に表示されます。
    また、HE 側の管理画面で、トンネルの MTU 値は「1280」にしておきます。

    以下は、RTX810 への設定です。コンソールなり、SSH なりで設定します。設定を行う前に、既存の設定は必ずバックアップしておきます。

  • LAN1 インタフェースに IPv6 アドレスを当てる

    ipv6 lan1 address 2001:DB8:1:1::1/64
  • IPv6 トンネルを通す IPv4 フィルタと静的マスカレードを設定する

    ip filter 601 pass 192.168.1.1 192.0.2.1 ipv6 * *
    ip filter 602 pass 192.0.2.1 192.168.1.1 ipv6 * *
    ip pp secure filter in … 602 …
    ip pp secure filter out … 601 …
    nat descriptor type 101 masquerade
    nat descriptor address outer 101 ipcp
    nat descriptor address inner 101 auto
    nat descriptor masquerade static 101 1 192.168.1.1 ipv6
  • IPv6 用フィルタを定義する。

    # 入力・出力方向共通静的フィルタ (Windows ファイル共有は通過させない)
    ipv6 filter 101 reject-nolog * * udp,tcp 135 *
    ipv6 filter 102 reject-nolog * * udp,tcp * 135
    ipv6 filter 103 reject-nolog * * udp,tcp netbios_ns-netbios_ssn *
    ipv6 filter 104 reject-nolog * * udp,tcp * netbios_ns-netbios_ssn
    ipv6 filter 105 reject-nolog * * udp,tcp 445 *
    ipv6 filter 106 reject-nolog * * udp,tcp * 445
    # 入力方向 ICMP 静的フィルタ (一部の ICMP タイプだけ通過させる)
    ipv6 filter 111 pass * * icmp6 1
    ipv6 filter 112 pass * * icmp6 2
    ipv6 filter 113 pass * * icmp6 3
    ipv6 filter 114 pass * * icmp6 4
    ipv6 filter 115 pass * * icmp6 128
    ipv6 filter 116 pass * * icmp6 129
    # 入力方向静的フィルタ (established なパケットしか基本通過させない)
    ipv6 filter 121 reject-nolog 2001:DB8:1:1::/64 * * * *
    ipv6 filter 122 reject-nolog * 2001:DB8:1:2::2 * ssh
    ipv6 filter 123 reject-nolog * 2001:DB8:1:2::2 * telnet
    ipv6 filter 124 reject-nolog * 2001:DB8:1:2::2 * www
    ipv6 filter 125 reject-nolog * 2001:DB8:1:1::1 * ssh
    ipv6 filter 126 reject-nolog * 2001:DB8:1:1::1 * telnet
    ipv6 filter 127 reject-nolog * 2001:DB8:1:1::1 * www
    ipv6 filter 128 reject-nolog * 2001:DB8:1:1::/64 tcp * ident
    ipv6 filter 129 pass * 2001:DB8:1:1::/64 udp domain *
    ipv6 filter 130 pass * 2001:DB8:1:1::/64 established
    ipv6 filter 131 reject-nolog * * * * *
    # 出力方向静的フィルタ (ほとんどスルー)
    ipv6 filter 141 reject-nolog * 2001:DB8:1:1::/64 * * *
    ipv6 filter 142 pass * * * * *
    ipv6 filter 143 reject-nolog * * * * *
    # 出力方向ダイナミックフィルタ (何となく)
    ipv6 filter dynamic 101 * * ftp
    ipv6 filter dynamic 102 * * domain
    ipv6 filter dynamic 103 * * www
    ipv6 filter dynamic 104 * * smtp
    ipv6 filter dynamic 105 * * pop3
    ipv6 filter dynamic 106 * * tcp
    ipv6 filter dynamic 107 * * udp

    上記は、設定後、インターネット側から LAN1 インタフェース側の機器に対して nmap -6 してみて、大丈夫ではあったが、自信は無い。

  • トンネルインタフェースを設定する

    tunnel select 1
     tunnel encapsulation ipip
     tunnel endpoint address 192.168.1.1 192.0.2.1
     ipv6 tunnel address 2001:DB8:1:2::2/64
     ip tunnel mtu 1280
     ipv6 tunnel secure filter in 101 102 103 104 105 106 111 112 113 114 115 116 121 122 123 124 125 126 127 128 129 130 131
     ipv6 tunnel secure filter out 101 102 103 104 105 106 141 142 143 dynamic 101 102 103 104 105 106 107
     tunnel enable 1
  • IPv6 のデフォルトゲートウェイの設定と LAN1 側にルータ広告を行い、IPv6 パケットを扱うようにする

    ipv6 route default gateway tunnel 1
    ipv6 prefix 1 2001:DB8:1:1::/64
    ipv6 lan1 rtadv send 1
    ipv6 routing on

これで、RTX810 の LAN1 インタフェースに接続した、IPv6 が自動設定された iMac から http://www.kame.net/ にアクセスしたら、カメは踊り・・ません。

ping6 www.kame.net して、ping6 が通るにもかかわらず、です。

通常デュアルスタック環境において、双方がネイティブ IPv6 アドレスを持っている場合、普通は IPv6 で通信が行われるのですが、OS X Lion 以降では、Happy Eyeballs が実装されているらしく、必ずしも IPv6 で通信されるとは限らないため、のようです。

Linux とかだと、こう言う場合でも多分 IPv6 が優先されそうな気がします。その場合でも 6to4 なアドレスに対しては、常に IPv4 が優先されるはずです。(/etc/gai.conf をさわれば優先度を変更できる)

参考サイト

RTX810: LAN1 に VLAN を設定したメモ

YAMAHA RTX810 で VLAN を設定したメモ。

実現したいことは、以下の通り。

  1. LAN1 Port の 1,2,3 を VLAN 1 (192.168.0.0/24) とする。
  2. LAN2 Port の 4 を VLAN 3 (192.168.21.0/24) とする。
  3. DHCP でそれぞれの VLAN には別の DNS サーバを通知したい。
  4. VLAN 1 と VLAN 3 の間は通信を遮断する。

なお、当ページよりも、YAMAHA さんの「LAN分割機能」やコマンドリファレンスを参照した方が参考になる。

VLAN の設定に拡張形式が設定できるよう、ルータのファームウェアは Rev.11.01.04 での設定例となる。実際に入力したコマンドは下記の通り。

  • LAN1 側スイッチングハブの設定

    LAN1 側のスイッチングハブのポートを、どの VLAN に属させるか指定する

    vlan port mapping lan1.1 vlan1
    vlan port mapping lan1.2 vlan1
    vlan port mapping lan1.3 vlan1
    vlan port mapping lan1.4 vlan3
  • 各 VLAN の IPv4 アドレスとネットマスクを指定

    IPv4 アドレス及びネットマスク設定後、VLAN を有効にするコマンドを入力している。

    ip vlan1 address 192.168.0.1/24
    ip vlan3 address 192.168.21.1/24
    lan type lan1 port-based-option=divide-network
  • DHCP のリース範囲と、通知 DNS サーバの設定

    各 VLAN ごとに、DHCP でリースする IPv4 アドレスの範囲と、デフォルトゲートウェイ、および DNS サーバを設定している。ここでは、VLAN 1 には DNS サーバとして「dns-server-ip1」を通知し、VLAN 2 には「dns-server-ip2, dns-server-ip3」を通知している。

    dhcp scope 1 192.168.0.2-192.168.0.63/24 gateway 192.168.0.1
    dhcp scope 3 192.168.21.2-192.168.21.63/24 gateway 192.168.21.1
    dhcp scope option 1 dns=dns-server-ip1
    dhcp scope option 3 dns=dns-server-ip2,dns-server-ip3

    実際には、dns-server-ip1, dns-server-ip2, dns-server-ip3 には参照させたい DNS サーバの IPv4 アドレスを設定する。

  • フィルタリングの設定

    VLAN 1 と VLAN 3 の間で通信疎通が出来ないようにする。

    ip filter 100010 reject * 192.168.21.0/24 * * *
    ip filter 100011 reject 192.168.21.0/24 * * * *
    ip filter 100030 reject * 192.168.0.0/24 * * *
    ip filter 100031 reject 192.168.0.0/24 * * * *
    ip filter 100099 pass * * * * *
    ip vlan1 secure filter in 100010 100099
    ip vlan1 secure filter out 100011 100099
    ip vlan3 secure filter in 100030 100099
    ip vlan3 secure filter out 100031 100099

以上でした。

RTX810 で L2TP / IPsec を設定

とは言っても、ほとんど書くことは無く、YAMAHA さんが親切に「L2TP/IPsec」というページを公開して下さっているので、その通りやればほぼいけると思います。

と言うか、上記のページは凄くて、「動作確認済みクライアント一覧」セクションの「IPsec暗号化アルゴリズムと認証アルゴリズム」の項目など、凄く役立ちます。

と言うことで、RTX810 で L2TP / IPsec の設定を行うことについて、特に書くことはほとんどありません。

で、こう言う設定を行うと、本当に暗号化されているのかどうか気になるところだと思います。これ、RTX810 のコマンドリファレンスには載っていなくて、NVR500 のそれには記載があるという、packetdump コマンドを使用すると幸せになれます。「syslog debug on」に設定して、「packetdump lan2 100」とかすると syslog サーバ上またはルータのログにおいて 16 進でパケットのダンプが表示されます。

できれば、ASCII も表示してくれたらなぁ、と思いつつも、ルータにパケットダンプする機能が載っているだけでもありがたいと感じます。

RTX810 で IPv6 (トンネル) を優先制御したメモ

RTX810 に変更してから、度々 LAN 内サーバから張っている、IPv6 トンネリングが切断されることがあったので、優先制御を設定してみた際のメモ。

なお、回線は eo 光 1Gbps で、LAN2 に接続し pp 1 で定義。

# speed lan2 1000m
# queue lan2 type priority
# queue lan2 default class 2
# queue class filter 1 3 ip * * 41
# queue class filter 2 2 ip * *
# disconnect pp 1
# pp disable 1
# pp select 1
pp1# queue pp class filter list 1 2
pp1# pp select none
# pp enable 1
# connect pp 1

これでしばらく様子見をする。

よくわからない点としては、「speed lan2 1000m」で良いのか (実測値じゃなくても良い ?) のと、「queue class filter 〜」について、pp の設定で行わなくても良いのか、と言う点である。

eo 光 + RTX810 ステータスランプの点灯

自宅に RTX810 を導入したわけですが、

  • eo 光 (100Mbps) に接続する設定を「かんたん設定ページ」でブラウザ経由で ISP 設定を行った場合で、常時接続設定を有効とすると、回線自体は接続できているにもかかわらず、RTX810 の「STATUS」ランプが橙色で常時点灯する現象

について、対応方法のメモ等です。

・該当 pp の接続に対して以下を追加する。

ppp ipv6cp use off

RTX810 のログを見ている限り、「PPPOE[01] Disconnected, cause [PPP: IPV6CP Timeout]」が発生しており、これの影響で実際には接続できているにもかかわらず、「STATUS」ランプが点灯してしまうのでは無いかと思われます。

なお、参考までに、私の RTX810 について PPPoE 設定のみに関する部分の抜粋は以下の通りです。
※実際にはフィルタリングやその他の設定も行っています。

pp select 1
 pp keepalive interval 30 retry-interval=30 count=12
 pp always-on on
 pppoe use lan2
 pppoe auto disconnect off
 pp auth accept pap chap
 pp auth myname [eo 光の認証アカウント] [eo 光の認証パスワード]
 ppp lcp mru on 1454
 ppp ipcp ipaddress on
 ppp ccp type none
 ppp ipv6cp use off
 ip pp mtu 1454
 ip pp nat descriptor 1000
 pp enable 1
nat descriptor type 1000 masquerade

ちなみに pp (この例では pp1) の設定を行う場合は、下記のようにします。

# pp disable 1
# disconnect pp 1
# pp select 1

※この間で pp の設定を行う。

# pp select none
# pp enable 1
# connect pp 1

設定する pp を一旦無効にし、回線を切断した状態で、PP の設定を行う。完了したら、pp を有効にして、回線を接続する。(pp enable 1 を実行した時点で、上記のような常時接続設定だと接続が開始されるようです。)

別に「スピード命」と言うわけでもないのですが、それにしても、ルータを今までの家庭用から RTX810 (不正アクセス検知有り・フィルタなども設定済みなのに) に変更しただけで、「ケイ・オプティコム回線 スピードテスト」での結果で、変更前よりも 20Mbps 程度も下り方向の速度が上がるとか、さすが。(現在 100M 契約ですが、下り 70Mbps 程度は出ます。)