rabbit51

it's since Nov.30 2005
May.29 2014, transferred from broach

OpenWrt化WZR-HP-G300NHでぷららIPv4 PPPoEとDS-Liteの同時接続設定#4(ポリシールーティング)

2018-09-15 17:00:00 | WZR-HP-G300NH
ポリシールーティングでインターネットからのアクセスを「ぷららIPv4 PPPoE接続」で行い、イントラネット内からのインターネットアクセスを「Transix IPv4 over IPv6 IPoE接続」する。


ポリシールーティング関連情報
ネットワーク・ルーティング全般
ルーティング関連
ポリシー関連

参考にしたルーティング情報
マーキング・パケットとルーティング日本語

似たような設定例
iptablesとiproute2を使ってマルチホーム環境でNAT内のサーバーをうまく公開する方法(2010/12/15)

ポリシールーティングの設定は、「LUCIブラウザベース設定」では困難?
「ネットワーク」「ファイアウォール」「手動設定ルール」がshellスクリプトとして起動されるよう記述されているので、ここにip tableを制御するコマンドを追加できるかもしれない。未検証。

設定には、「SSH」が必要。「SCP」があれば、便利。mac OSX Sierraの標準「ターミナル」から利用可能。
Windowsでは、「SSH」や「SCP」のインストールが必要となる。


ポリシー・ルーティング
「ぷららIPv4 PPPoE接続」と「Transix IPv4 over IPv6接続」時に二つの「デフォルトルート」を設置できない。ヤマハNVR500では、「weightやフィルタ条件付き経路」の設定ができたが、OpenWrt(Linux)では、ルートテーブルを使って対応する事になる。通常は、「Transix IPv4 over IPv6接続」がデフォルトルートになるよう設定する(図 上)。ぷららからのhttp接続(ポート番号3580)は、ポートフォワーディングによって宛先アドレス192.168.12.145ポート番号80に変換され、イントラネット内のLAMB httpd serverに接続する。httpd serverの応答パケットは、OpenWrtのルーティングで「Transix IPv4 over IPv6接続」へ転送される事になる。

参考にしたポリシールーティングでは、httpd serverからの応答パケットにiptablesのフィルタ機能で「マーク(0x20=32)」を付ける。イントラネット内からのアクセスに対して「マーク」が付かないよう「!」でNOT指定する。イントラネット内は、「192.168.1.0/24」「192.168.11.0/24」「192.168.12.0/24」を利用しているが、複数指定すると「NOT OR」となりうまくいかない。ipsetのようなグループ化でうまく設定できるかもしれない。今回は、大きめのネットワーク「192.168.0.0/20」指定で対応する。
「マーク」のついたパケットをルートtable名「plalav4(id=200)」を設定し、ぷららIPv4 PPPoE接続へ応答する。


(1)パケットにマークを付ける設定

コマンド設定では、
# /usr/sbin/iptables -A PREROUTING -i eth1 -t mangle -p tcp -s 192.168.12.145 --sport 80 -d !192.168.0.0/20 -j MARK --set-mark 0x20

uci設定では、
---- /etc/config/firewall ----
config rule
option name 'Policy-http-12-145'
option family 'ipv4'
option target 'MARK'
option set_mark '0x20'
option proto 'tcp'
option src 'lan'
option src_ip '192.168.12.145'
option src_port '80'
option dest_ip '!192.168.0.0/20'
option enabled '1'

---- ----

LUCI設定では、
「ネットワーク」「ファイアウォール」「トラッフィク・ルール」

動作の選択に「MARK」が無い。
マーク値の設定項目も無い。
追加設定に「-j MARK --set-mark 0x20」で対応できるかもしれない。。。
このルールを選択して「保存&適応」を行うと意図しない結果となるので要注意。
LUCIでの設定を諦め、「/etc/config」フォルダ内の「network」と「firewall」を直接エディタで編集するのが良いと思える(UCI設定)。LUCI環境から表示されるので直接操作「保存」を行わないように留意が必要。


(2)「plalav4」ルートテーブルを作る設定

ルートテーブル名データベース設定(コマンド又はエディタでの設定が必要)
# echo 200 plalav4 >> /etc/iproute2/rt_tables
直接「vi /etc/iproute2/rt_tables」で「200 plalav4」行を追加する方が間違いがない。

ルートポリシーデータベース設定
コマンド設定では、
# ip rule add priority 100 fwmark 0x20 table plalav4

uci設定では、
---- /etc/config/network ----
config rule
option priority '100'
option mark '0x20'
option lookup 'plalav4'

---- ----

LUCI設定では、出来ない。

コマンドで設定を確認するには
# ip rule list


(3)ルートテーブル「plalav4」にデフォルトルートを設定する

コマンド設定では、
# ip route add default dev pppoe-PlalaV4 table plalav4

uci設定では、「PlalaV4」インターフェースに「デフォルトルートを使用する」がチェックされている事が前提で
---- /etc/config/network ----
config interface 'PlalaV4'
option proto 'pppoe'
option ifname 'eth1'
option delegate '0'
ooption username 'account-id@plala.or.jp'
option password 'account-password'
option ipv6 'auto'
option ip4table 'plalav4'

---- ----

LUCI設定では、出来ない。

コマンドで設定を確認するには、
mainテーブルの経路は、
# ip route list
plalav4テーブルの経路は、
# ip route list table plalav4


(4)コマンドで設定を確認

host:~ account$ ssh root@openwrt.mxxxxxxx
root@openwrt.mxxxxxxx's password:


BusyBox v1.28.3 () built-in shell (ash)

_______ ________ __
| |.-----.-----.-----.| | | |.----.| |_
| - || _ | -__| || | | || _|| _|
|_______|| __|_____|__|__||________||__| |____|
|__| W I R E L E S S F R E E D O M
-----------------------------------------------------
OpenWrt 18.06.1, r7258-5eb055306f
-----------------------------------------------------
root@OpenWrt:~# cat /etc/iproute2/rt_tables
#
# reserved values
#
128 prelocal
255 local
254 main
253 default
0 unspec
#
# local
#
#1 inr.ruhep
200 plalav4

root@OpenWrt:~# ip rule list
0: from all lookup local
100: from all fwmark 0x20 lookup plalav4
10000: from 114.183.115.129 lookup plalav4
20000: from all to 114.183.115.129 lookup plalav4
32766: from all lookup main
32767: from all lookup default
90010: from all iif lo lookup plalav4

root@OpenWrt:~# ip route list
default dev ds-TRANSIX scope link
114.190.187.1 dev pppoe-PlalaV4 scope link src 114.183.115.129
192.0.0.1 dev ds-TRANSIX scope link src 192.0.0.2
192.168.1.0/24 dev eth1 scope link src 192.168.1.54
192.168.11.0/24 via 192.168.1.2 dev eth1
192.168.12.0/24 dev br-lan scope link src 192.168.12.1

root@OpenWrt:~# ip route list table plalav4
default via 114.190.187.1 dev pppoe-PlalaV4

root@OpenWrt:~#

---------------------
OpenWrt化WZR-HP-G300NHでぷららIPv4 PPPoEとDS-Liteの同時接続設定#1
OpenWrt化WZR-HP-G300NHでぷららIPv4 PPPoEとDS-Liteの同時接続設定#2(DDNS)
OpenWrt化WZR-HP-G300NHでぷららIPv4 PPPoEとDS-Liteの同時接続設定#3(http server)
OpenWrt化WZR-HP-G300NHでぷららIPv4 PPPoEとDS-Liteの同時接続設定#4(ポリシールーティング)
---------------------

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« OpenWrt化WZR-HP-G300NHでぷ... | トップ | OpenWrt化WZR-HP-G300NHのア... »
最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。

WZR-HP-G300NH」カテゴリの最新記事