web-dev-qa-db-ja.com

エイリアスインターフェイスの複数のデフォルトゲートウェイ

/ etc/network/interfacesで定義されたエイリアスインターフェイスは、複数のデフォルトゲートウェイを持つことができません。残念ながら、同じインターフェイスを使用して2つの異なるネットにアクセスしたいと思います。また、同じインターフェイスで2つのアドレスと2つのゲートウェイを定義するために必要です。

eth0はで使用されるため、このエイリアスインターフェイスはeth1インターフェイス上にある必要がありますローカルネットワーク。メインeth1インターフェイスにゲートウェイを1つだけ定義し、手動でroute add default gw 1.2.3.4はエイリアスeth1:0で機能します。

しかし起動時に正しく設定したい自動的に

これが私の最後の試行です/ etc/network/interfaces

# The loopback network interface
auto lo
iface lo inet loopback

# The external network interface, address on university internal network
auto eth1
iface eth1 inet static
    address 172.x.y.33
    netmask 255.255.255.224
    network 172.x.y.32
    broadcast 172.x.y.63
    # dns-* options are implemented by the resolvconf package, if installed
    dns-nameservers x.x.x.x
    dns-search mysite.org
    # multiple gateways are not allowed, so I try to add them like that:
    post-up route add default gw 172.x.y.62 metric 1
    pre-down route del default gw 172.x.y.62

# external interface with external world IP address
auto eth1:0
iface eth1:0 inet static
        address 1.2.3.1
        netmask 255.255.255.128
        network 1.2.3.0
        broadcast 1.2.3.128
    # dns on ensg dns
        dns-nameservers x.x.x.x
        dns-search mysite.org
        # multiple gateways are not allowed, so I try to add them like that:
    post-up route add default gw x.x.x.x metric 2
    pre-down route del default gw x.x.x.x

# internal network for my cluster
auto eth0
iface eth0 inet static
    address 10.1.1.1
    netmask 255.255.255.0
    network 10.1.1.0
    broadcast 10.1.1.255
    gateway 10.1.1.1
    # dns-* options are implemented by the resolvconf package, if installed
    dns-nameservers 10.1.1.1 127.0.0.1
    dns-search cluster

しかし、upを1つのインターフェイスにしようとすると、次のようになります。

root@server:~# ifconfig eth1:0 up
SIOCSIFFLAGS: Cannot assign requested address

自分でこれ以上の解決策を見つけることができません、誰かがアイデアを持っていますか?

感謝をこめて。

解決:

私はついにそれをそのように解決しました:

# The primary network interface
auto eth1
iface eth1 inet static
        address a.b.c.1
        netmask 255.255.255.128
        network a.b.c.0
        broadcast a.b.c.128
        # this is the interface with the default gateway!
        gateway a.b.c.126 
        dns-nameservers a.d.e.f
        dns-search mysite.org

auto eth1:0
iface eth1:0 inet static
    address 172.x.y.33
    netmask 255.255.255.224
    network 172.x.y.32
    broadcast 172.x.y.63
    # multiple gateways are not allowed, so we do it like that
    post-up route add -net 172.x.y.32 netmask 255.255.255.224 gw 172.x.y.62
    pre-down route del -net 172.x.y.32 netmask 255.255.255.224 gw 172.x.y.62



auto eth0
iface eth0 inet static
    address 10.1.1.1
    netmask 255.255.255.0
    network 10.1.1.0
    broadcast 10.1.1.255
    # dns-* options are implemented by the resolvconf package, if installed
    dns-nameservers 10.1.1.1 127.0.0.1
    dns-search cluster
3
Danduk82

エイリアスインターフェイスにはレガシーモードのゲートウェイがないため、この設定は機能しません(別名:/etc/network/interfaces

https://wiki.debian.org/NetworkConfiguration#Legacy_method

エイリアスインターフェイスには、「ゲートウェイ」または「dns-nameservers」を含めないでください。動的IP割り当ては許容されます。

Ipを使用してpost-upでこのルートを定義する場合はどうでしょうか?

ip route add default via x.x.x.x dev eth0:1

ここでの唯一の問題は、iprouteを使用すると、リンクごとに1つずつ、合計2つのルールを作成し、デフォルトのテーブルを空のままにして優先順位を設定する必要があることです。 LARCはあなたの友達です- http://www.lartc.org/howto/lartc.rpdb.multiple-links.html

routeではなくiproute2を使用する理由route, arp, ifconfigとその友達は古いツールであり、 非推奨 であるためですが、一部のディストリビューションではまだ出荷されています。

5
user34720