5.4.17-2136.304.4.1.el7uek.x86_64
Unbreakableカーネル(通常は3.10ベースのカーネルを使用するRHEL7などのシステムの最新バージョン)を含むOracle Linux 7システムがあります。
ネットワークインターフェイスにはエイリアスで構成された複数のアドレスがあります(このエイリアスは古いものでなければならないことを知っていますが、ifconfig
それにもかかわらず、一部のIPは履歴IPですが、すべてではなく、システムにはまだ複数のアドレスが必要です)。
root@bccdb:network-scripts# ip addr show dev bond0.610
15: bond0.610@bond0: <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.221.195/24 brd 192.168.221.255 scope global bond0.610
valid_lft forever preferred_lft forever
inet 192.168.221.2/24 brd 192.168.221.255 scope global secondary bond0.610:1
valid_lft forever preferred_lft forever
inet 192.168.221.134/24 brd 192.168.221.255 scope global secondary bond0.610:2
valid_lft forever preferred_lft forever
ルートキャッシュとヒント(外部接続を確立するときにシステムが使用するアドレス)に問題があります。
この.195
アドレスが最初に出てくるので、それをローカルネットワークパス(192.168.221.0/24 dev bond0.610 proto kernel scope link src 192.168.221.195
)にします。ただし、システムは.134
デフォルト値を使用する必要があります。
)でパスを更新しました。ip route change 192.168.221.0/24 dev bond0.610 proto kernel scope link src 192.168.221.134
正しいip route
パスが表示されます。ただし、特定のIPを要求すると、まだ古いsrcプロンプトが使用されます。
root@bccdb:network-scripts# ip route get 8.8.8.8
8.8.8.8 via 192.168.221.1 dev bond0.610 src 192.168.221.195 uid 0
cache
実際、このソースアドレスを宛先アドレスとして使用します。とは別に手動でインストールしたパスip route add <target-host> dev bond0.610 src 192.168.221.134
(アドレスが別のネットワークにある場合は追加via 192.167.221.1
)、<target-host>
ターゲットホストのアドレス(/ 32)はどこですか?
ip route show cache
何も表示しません。
汎用キャッシュはLinux 3.6から削除されました私たちはその更新されたバージョンを実行しています。そこにいくつかの説明があります最新のLinuxカーネルのパスキャッシュただし、このキャッシュ管理に関する推奨事項はありません。
私が見つけたこの提案、しかしip route flush cache
役に立ちませんでした。
このキャッシュをクリアする方法は?
答え1
ifdown bond0.610
これは重要なシステムであり、管理期間の前にソリューションが提供されていなかったため、我々は単に再起動インターフェイスを使用し、ifup bond0.610
それによってルーティングテーブルが更新されました(そのインターフェイスについて)。これにより、約5秒のダウンタイムが発生し、これはこのサーバーではほとんど許可されていません。