web-dev-qa-db-ja.com

特定のインターフェースにソラリス10ルートを追加

Solarisボックスに2つのインターフェースがあります

# ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000 
hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        inet 192.168.1.41 netmask ffffff00 broadcast 192.168.1.255
        ether x:x:x:x:x:x
hme1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3
        inet 192.168.1.42 netmask ffffff00 broadcast 192.168.1.255
        ether x:x:x:x:x:x 

# netstat -rn

Routing Table: IPv4
  Destination           Gateway           Flags  Ref   Use   Interface
-------------------- -------------------- ----- ----- ------ ---------
192.168.1.0          192.168.1.41         U         1     91  hme0
192.168.1.0          192.168.1.42         U         1      0  hme1
224.0.0.0            192.168.1.41         U         1      0  hme0
default              192.168.1.1          UG        1     91  
127.0.0.1            127.0.0.1            UH        1      0  lo0

hme0がデフォルトのインターフェースですが、インターフェースhme1を使用するようにホスト192.168.1.32を指定します。使ってみる

route add 192.168.1.32 192.168.1.42 -interface hme1

しかし帰る

hme1: bad value

どのように私はそれを解決できますか?

2
conandor

Linuxプラットフォームでのみ適用可能な応答を返すようです。

しかし、Solaris 10では、動作することがわかったコマンド:

route -p <add/delete> <hostname> <gateway> -ifp <interface>
2
conandor

l1xの解は正しい ですが、いくつかの問題があります。 hme0側の他のホストは192.168.1.32に到達できず、192.168.1.32はそれらの他のホストに到達できない可能性があります。

これが問題である場合、ネットマスクが192.168.1.*bothネットワークに接続されていると言っているためですが、これは正しくありません。おそらく、これをサブネットなしで実行し、マスクを255.255.255.255に設定すると、ルートを作成できますなし-interfaceライン。

おそらく、一方の側で192.168.2.*を使用し、もう一方をルーティングすることができますが、ルーターでルートを作成するためにアクセスする必要があるか、または192.168.1.*ネットワーク上のすべてのマシンを再構成してこれを認識しますルート。

これらのいずれも実行できない場合は、ブリッジを作成できる可能性があります。

カーネルにパッチを当ててアルファ品質のドライバーをロードすることを恐れない場合は、 Ethernet Bridge を作成できます( RBridge も参照)。

IPのみのソリューションで十分な場合は、プロキシarpとIP転送を使用して、粗雑なIPのみのブリッジを作成できます。次のようなものから始めます。

arp -s 192.168.1.32 macaddress-of-hme0 pub
route add 192.168.1.32 secretip
ndd -set /dev/ip ip_forawrding 1

Solarisでは、proxy_arpは本当に壊れています。それを行う唯一の信頼できる方法は、マシン192.168.1.32に追加の秘密IPアドレスを与えることです(10.5.3.2など)onlyこれに使用します。

,-----,         hme1,-----,   hme0
|hostA|-------------|hostB |----------- ?
`-----'             `-----'
192.168.1.32        192.168.1.41
10.5.3.2            192.168.1.42
                    10.5.3.1

ただし、この構成では、「hostB」は192.168.1.41192.168.1.42の両方を必要としません。

1
geocar

これは、Solaris 10のコマンドになります。

route add 192.168.1.32 192.168.1.42 -interface

IPアドレス192.168.1.42はすでに暗黙的にhme1を使用するように言っているため、引数-interfaceの後にインターフェース名を追加する必要はありません。

よろしく、

0
hot_flyback