2つのISPを使用している状況で、アドレスに定期的にpingを実行するプログラムがあり、アドレスがダウンしている場合、ISPに問題があり、/ etc/network/interfacesおよび/ etc/resolvconf/resolv.conf.d/tailファイル。バックアップISPを指すようにこれらの設定を変更します。次に走る
Sudo service networking restart
Sudo /etc/init.d/resolvconf restart.
ただし、これによってデフォルトルート(ip route lsで表示される)または/etc/resolv.conf内のDNSサーバーは変更されません。再起動が必要です。再起動せずにこれらの設定をアクティブにするにはどうすればよいですか?
私があなたに伝えようとしていることは、再起動後も持続するものは何もありません。どうやら、あなたは不安定な状況にあるので、それはあなたが望むものだと思います。そうでない場合は、お知らせください。
私はあなたがそうしていると思いますnot静的IPを持っています(もしそうなら、plsは私に知らせます)。回線がダウンしてもプロバイダー1のDHCPサーバーはオンのままですか? notの場合、
Sudo ifdown eth0
Sudo ifup eth0
新しい設定が表示されます。ただし、代わりにプロバイダー1のDHCPサーバーdoesがオンのままである場合は、手動で行う必要があります。
ルートを変更:
Sudo ip route del default
Sudo ip route add default via 192.168.1.121 dev eth0
ここでは、イーサネット経由で接続しており、2番目のモデムのIPアドレスは192.168.1.121であると想定しています。
DNSの変更、最も簡単なのは、(Sudoとして)/etc/resolv.conf
を編集し、以前のDNSの行を削除してから、次の2行を追加します。
nameserver 1.2.3.4
nameserver 9.8.7.6
(自分の値で置き換えてください)。
この煩わしい場合は、次のように自動化できます。executable(!)ファイルを作成し、line2
と呼びます。コンテンツ:
#!/bin/bash
Sudo ip route del default
Sudo ip route add default via 192.168.1.121 dev eth0
sed -i --follow-symlinks 's/First.Old.DNS.IP./First.New.DNS.IP/' /etc/resolv.conf
sed -i --follow-symlinks 's/Second.Old.DNS.IP./Second.New.DNS.IP/' /etc/resolv.conf
line2
を実行すると、新しい接続が提供されます。
DNSを変更する他のより洗練された方法があります(resolvconf
を使用し、/etc/resolvconf.d
に書き込みます)。しかし、頻繁に問題が発生するようなので、これほど簡単なことはありません。