サーバーに2つのIPアドレスがあり、両方が同じインターフェースに割り当てられている状況が発生しました。 APTに特定のIPを使用してパッケージをダウンロードし、キャッシュを更新するように指示する方法は?
基本的に私はAPTについてのみ--interface
このようなものを探しています。curl(1)
--interface <name>
Perform an operation using a specified interface. You
can enter interface name, IP address or host name...
調査したところ、apt.conf(5)
そこapt-transport-http(1)
にはオプションがないことがわかりました。
私は2つの解決策を考えました。
さまざまなインターフェイス/IPを認識するプロキシを設定し、
Acquire::http::Proxy
APTにそのプロキシを通過するように指示します。まだドキュメントを詳しく見ていませんが、これを達成するためにネットワークネームスペースを設定することもできます。
APTは特定のネットワークインターフェース/ IPアドレスを使用できますか?そうでなければ、より良い解決策は何ですか?
具体的な内容は次のとおりです。
サーバーには2つのIPアドレスが割り当てられ、それぞれはインターネットNATの背後にあります。 (ここではブリッジは構成管理の便宜のためのものであり、実際にはenp1s0
背面にのみありますbr0
。)
$ ip address show br0
9. br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
inet 192.168.0.2/22 brd 192.168.3.255 scope global dynamic br0
valid_lft 1055sec preferred_lft 1055sec
inet 192.168.0.3/22 brd 192.168.3.255 scope global secondary br0
valid_lft forever preferred_lft forever
inet6 fe80::5867:78ff:fef8:7146/64 scope link
valid_lft forever preferred_lft forever
これら2つのIPは、異なるパブリックIPの後にNATされます。そのうちの1つ192.168.0.3
はインターネット帯域幅が高く、APTパッケージをダウンロードするのに適しています。ただし、他のほとんどすべてのネットワーク接続は異なるIPを介している必要があるため、デフォルトのルート192.168.0.2
に設定されます。
望ましい効果は、APTを使用して192.168.0.3
パッケージをダウンロードしてキャッシュすることです。
答え1
アップデートサーバーにルーティングできる複数のインターフェイスがある場合は、指定された一連のIPアドレス(アップデートサーバー)にルーティングするように選択する必要があります。ポリシールーティング。
以下は、必要なものと似ていると思われる内容を議論するブログ投稿です。https://osric.com/chris/accidental-developer/2019/03/linux-policy-based-routing/