vine-users ML アーカイブ



[vine-users:078971] Re: ルーテ ィング設定を教えてくださ い

  • From: Taro Kawahara <tarokawa@xxxxxxxxx>
  • Subject: [vine-users:078971] Re: ルーテ ィング設定を教えてくださ い
  • Date: Mon, 24 Nov 2008 16:21:51 +0900
>> たとえば、バックアップをとる人のIPアドレスが 123.123.123.0/24 の
>> ネットワークだったら、
>>  route add -net 123.123.123.0 netmask 255.255.255.0 gw ルータのIPアドレ
>> ス metric 10 dev eth1
>> などと書きます。
> バックアップを発信側はIPアドレスが固定ではないのでプロバイダすべてを
> 設定しなくてはいけない・・ということでしょうか?ちょっと範囲を特定できない
> 状況でした。。

この発信元の範囲が特定できないのなら、これはちょっと無理な
相談ということになります。。。 インターネット側への
接続経路が2つあり、どちらを使うかは接続先がどこかで
選ぼうとしているのですよね、、、その接続先が特定できない
という意味ですから。

この問題では、当該Vine機がインターネット側へ出て行く方路は2つ
あります。通常は、インターネット側へ出て行く方路は1つだけで、
一般的には、defaultroute がインターネット側になるように
設定します。 これは、LAN内(neighour)はLAN内の方路へ送信し、
知らないあて先は全部インターネット側へ送信する、という
動作になるわけです。 で、この問題ではそれでは困るので、
特定の通信相手にだけ、もうひとつの方路へ送信するように
個別の routing を定義しようとしているわけです。 

「特定の通信相手」であると決める属性は、何なのでしょうか?

わたしは、前回のメールの時点では、IPアドレスで特定できる
との暗黙の前提で書いていました。 しかし、IPアドレスで
特定できないのであれば、何らかの方法で「特定の通信相手」
であるかそれ以外であるかを区別し、さらに、その「特定の
通信相手」のみに特別の routing を、おそらく動的に
与えなければなりません。

Linux では、 libipq というライブラリを使って記述した
ユーザー空間で動作する C言語プログラムに、 iptables の
-j QUEUE で飛ばすことにより、カーネル内でルーティング
処理中の IPパケットを引き渡すことが可能になっています。
こっから先は、ユーザー空間で動くのでどんな処理でも
可能ですが、当然ながら、相応のプログラミングスキルが
必要になります。IPパケットレベルでどんな操作をしようと
しているのかハッキリと理解できていないと、この作業は無理
でしょう。。。 
とにかく、何らかの手段で「特定の通信相手」を区別し、
マーキングするとか、動的に routing を書き換えるとか、
あるいは、OUTPUTチェインあたりで宛先IPアドレスを
書き換えるとかします。 (最後のIPアドレス書き換えは
sshではIPパケットが改ざんされていると見做されて
うまくいかなかったような記憶が...、たぶんやるなら
動的 routing 書き換えがよさそうだけど、、、)


一台のパソコンが2つの方路のインターネット接続を
持つからやっかいなことになるんです。もう一台
パソコンがあれば(それがVMwareの論理パソコンであっても)
話はとても簡単になるかと思います。なにしろ、
デフォルトのroutingのままでOKで、パソコン間の
接続は普通のLAN接続ですからね。 また、セキュリティ面を
考えると、簡単に理解できる構成であることは大事で
複雑なルーティング定義をしたり、動的なルーティング定義
をしたりするのはあまりお勧めできることではありません。
 または低価格なVPN製品の導入を検討なさったほうが
よろしいのではないでしょうか?

--
たろかわ

usi@xxxxxxxxxxxxxxx さんは書きました:
> 牛島です。
> 周りにいろいろとあり、実験が思うように進まず亀レスですみません。
> 結論から言うと、うまくいきませんでした。
> どううまくいかないかを調べていたのですが、結局原因を特定できなかったので
> ログをメールに載せることにしました。
> 他力で本当に申し訳ないのですが、もう少しアドバイスをお願いいたします。
> また、チェック箇所のアドバイスもあれば重ねてお願いいたします。
> 
> 鈴木様
> 参考ページをありがとうございました。
> http://www.linux.or.jp/JF/JFdocs/Adv-Routing-HOWTO/lartc.rpdb.multiple-links.h
> tml
> 実際にやってみましたが、コネクトまで行き着きませんでした。
> 
> 環境
> 	T1/2	$IF1/2	$IP1/2	$P1/2	$P1_NET/$P2_NET
> Provider1	wan	eth0	A3.B3.C3.D3	A2.B2.C2.D2	A.B.C.D/32
> Provider2	lan	eth1	192.168.1.23	192.168.1.10	192.168.1.0/24
> 
> 設定ファイル
> rt_table
> ip route add A.B.C.D/32 dev eth0 src A3.B3.C3.D3 table wan
> ip route add default via A2.B2.C2.D2 table wan
> ip route add 192.168.1.0/24 dev eth1 src 192.168.1.10 table lan
> ip route add default via 192.168.1.10 table lan
> 
> mainルーティングテーブル設定
> ip route add A.B.C.D/32 dev eth0 src A3.B3.C3.D3
> ip route add 192.168.1.0/24 dev eth1 src 192.168.1.10
> 
> defaultルート
> ip route add default via A2.B2.C2.D2
> 
> ルーティングのrule
> ip rule add from A3.B3.C3.D3 table wan
> ip rule add from 192.168.1.10 table lan
> 
> ---- log ----
> $ ssh -v aiueo.domain
> OpenSSH_2.9.9p2, SSH protocols 1.5/2.0, OpenSSL 0x0090581f
> debug1: Reading configuration data /etc/ssh/ssh_config
> debug1: Seeding random number generator
> debug1: Rhosts Authentication disabled, originating port will not be trusted.
> debug1: restore_uid
> debug1: ssh_connect: getuid 500 geteuid 500 anon 1
> debug1: Connecting to aiueo.domain [ddnsA.ddnsB.ddnsC.ddnsD] port 22.
> debug1: temporarily_use_uid: 500/500 (e=500)
> debug1: restore_uid
> debug1: temporarily_use_uid: 500/500 (e=500)
> ---- EOF ----
> 設定確認を行うと、1行目にwebページにはない表記があり、databaseと書かれています
> 。
> これが何か間違いを指摘しているのでは?と思っていますが、
> 理解できなくて対応できていません。
> # ip route list table main
> Database /etc/iproute2/rt_tables is corrupted at ip route add A.B.C.D/32 dev e
> th0 src A3.B3.C3.D3 table wan
> 
> A.B.C.D/32 dev eth0  proto kernel  scope link  src A3.B3.C3.D3
> 192.168.1.0/24 dev eth1  proto kernel  scope link  src 192.168.1.23
> default via A2.B2.C2.D2 dev eth0
> 
> 河原様
>> ちょっと「隣のネットワークからバックアップを取る」ssh接続が
>> どこを通るべきなのかが分かりませんでした。 そのとき通る経路が
>> default route でも neighor でもないのなら、 route コマンドで
>> 経路を手動定義する必要があります。分からないのは、当該Vine機
>> から internet へ接続する経路が、直結ルートとフレッツ光(ctu)ルート
>> の2つあることで、通常は(default routeは) eth0 の直結ルートを
>> 使うが、バックアップオペレーションに関しては、フレッツ光ルート
>> のインターネット経由(eth1)で接続させたい、、、
>> ということなのですよね?
> そういうことになります。
>  
>> 当該Vine機(eth1)とctuの間にある router はどのように設定されている
>> のかが分かりませんが、基本的には、ctu 経由で接続させたい グローバル
>> IPアドレスについては、 eth1 側を使うように routing させ、
>> それ以外は、default route を使うようにさせます。
> routerはbuffaloのbhr-4rvでvineのeth1側が外から見られるようにDMZに
> 指定してあります。
> 予算の関係で、ctu側のIPアドレスは動的になっており、DDNSで名前解決を
> しています。(幸い、routerを再起動しない限りアドレスは変更されません)
> eth0とeth1は固定化していますので、routerの部分のアドレスが変わります。
> ctuはすべてのプロトコルをスルーにしてあります。
> 
>                      bhr-4rv   Vine4.2
> internet --- ctu --- router ------- eth1
>                     (DDNS/DMZ=eth1)   |
>                                       |
> internet ---------- router -------- eth0
>                     (固定IP)
> 
> 
>> たとえば、バックアップをとる人のIPアドレスが 123.123.123.0/24 の
>> ネットワークだったら、
>>  route add -net 123.123.123.0 netmask 255.255.255.0 gw ルータのIPアドレ
>> ス metric 10 dev eth1
>> などと書きます。
> バックアップを発信側はIPアドレスが固定ではないのでプロバイダすべてを
> 設定しなくてはいけない・・ということでしょうか?ちょっと範囲を特定できない
> 状況でした。。
>  
>> VMware Workstation を使って仮想ネットワーク上に5〜6台の Vine Linux
>> を同時稼動させ、route コマンドでいろいろ独自ルーティングさせる
>> 練習をするといいですよ。インターネット上のIPアドレス別に別々の
>> インタフェースを使わせる、なんていうのは、実地には試しにくい
>> ものですが、仮想ネットワークと仮想コンピュータならクリック
>> だけで様々にネットワーク構成を変更しながら接続実験できますから、
>> 実験作業(routingの勉強)が劇的に簡単にできます。 1万5000円の
>> 価値はあると思います。
> アドバイスをありがとうございました。
> VMはVer2の時に使っていました。バージョンアップをサボっているので
> すっかりご無沙汰になっております。実験環境がすでになくなっているので
> 現在はチェックできませんが、そういった使い方があるとは思いませんでした。
> いつも、導入チェックにしか使っていませんでしたから。
> HDDの容量を確認してみます。。今のvineはテキストモードで使っているので
> テキストでVMが動いてくれればありがたいのですが。。ちょっと厳しいそうですね。
> 
>> --
>> たろかわ
>>
>> usi@xxxxxxxxxxxxxxx さんは書きました:
>>> こんに[ちは。 牛島といいます。
>>> 現在、Vine4.2を使っています。
>>> ネットワークカードを2枚さしており、グローバルとローカルをつないでいます。
>>> 当然、デフォルトゲートウェイはグローバルにセットしてあります。
>>>
>>> しかし、最近隣のネットワークからバックアップをしたいと要望がありました。
>>> (といっても、インターネットを通じてですが)
>>> rsync+sshでバックアップを取るところまでは話が決まったのですが、テストしてみ
> る
>>> と
>>> 通信がうまくいかないようです。
>>> ルータなどの機器類はすべて信号は通しているようなので、Vineの設定ではないか
> ?
>>> ということになり、調べてみたのですが特に原因がわからない状態です。
>>> すみませんが、どなたかよきアドバイスをお願いいたします。
>>>
>>> 状況
>>> eth0 = グローバル / eth1 = ローカル
>>> 受信先サイト    ゲートウェイ    ネットマスク   フラグ Metric Ref 使用数 イ
> ンタ
>>> ーフェース
>>> A.B.C.D        *                255.255.255.255 U     0      0        0 eth
> 0
>>> 192.168.1.0    *                255.255.255.0    U     0      0        0 et
> h1
>>> default         A.B.C.D        0.0.0.0            UG    0      0        0 e
> th0
>>>                                         Vine4.2
>>> internet --- ctu --- router --- eth1
>>>                                            |
>>> internet ---------- router --- eth0
>>>
>>> 内部の事情で、eth0はお客様が使っているので、内部的な処理に使いたくないため
>>> eth1の方で対応したいという実情があります。
>>> ipアドレスはeth0とeth1はvineの方で固定IPアドレスを割り当てています。
>>>
>>> デフォルトゲートウェイがA.B.C.Dになっているから、ローカルから入ってきた信号
> は
>>> おそらく、路頭に迷っていると思っています。
>>>
>>> めんどくさい設定で申し訳ないのですが、よろしくお願いいたします。
> 
> 
>