デフォルトゲートウェイを変更するにはどうすればよいですか?


19

現在、FreeBSD 9.1を実行していますが、デフォルトゲートウェイはで既に構成されていますrc.conf

rc.conf

defaultrouter = "10.0.0.1"

しかし、システムを再起動せずにデフォルトゲートウェイを変更したいのですが、これは可能ですか?

回答:


21
route del default
route add default 1.2.3.4

1.2.3.4新しいゲートウェイはどこですか。それらを同じ行に連結することもできます;

編集:これはLinux ではなく、FreeBSD です。コマンドは異なります。使用しているオペレーティングシステムを判断するのに十分な質問を注意深く読んでいない場合は、この回答を編集しないでください。


4
注:これは、sshではなくコンソールで行います。あなたは、SSH(または他のネットワーク方式)を経由して、これを行う必要がある場合は、で、一度に両方のコマンドを発行し;たりして&&
ダリボルFilus

4
または、一般的な安全な方法を使用します。1)シェルにログインし、キャンセルしない限り 15分でシャットダウン/再起動します2)安全でないことを行います。3)シャットダウン/再起動をキャンセルします。
ヘネス

2
Linuxでは、コマンドip route del defaultip route add default via 1.2.3.4動作。このコマンドは、かなり似ているため、Linuxユーザーにも関連しています。
ポールステリアン

16

ipor routeコマンドを使用して、新しいデフォルトルートを追加し、古いルートを削除できます。以下のコマンドは、ゲートウェイを192.0.2.1に置き換えます。両方のコマンドペアは同じことを行います。FreeBSDおよびその他のOSには、1つまたは両方のプログラムが含まれている必要があり、おそらくわずかに異なる形式です。(FreeBSDはありrouteコマンドと除外gwコマンドを。他の実装で使用されるキーワード)man ipおよび/またはman route特定の実装に関する資料を提供しなければなりません。

route add default 192.0.2.1
route del default 10.0.0.1

ip route add default via 192.0.2.1
ip route del default via 10.0.0.1 

これらのコマンドには複数の実装があるため、上記は実装と一致しない場合があります。実装には、manデフォルトゲートウェイの追加や削除などの一般的な使用例のページが必要です。試してみてくださいman routeman ipあなたの実装がどのように動作するか確認するために。

192.0.2.1を目的のデフォルトゲートウェイに変更します。デフォルトゲートウェイは、直接接続しているネットワークの1つに存在する必要があります。同様の方法でIPアドレスを変更できます。 ipは、IPv4およびIPv6ネットワークでIPアドレスとルーティングを表示および管理するために必要なほとんどすべてのことを行う新しいツールです。 ifconfigは、IPv4ネットワークでIPアドレスを構成するための古いツールです。

変更を永続的にするには、でネットワーク構成ファイルを更新します/etc。ファイルは、使用しているディストリビューションによって異なります。

これらのコマンドの少なくとも1つは、Unixから派生したO / Sで使用できる必要があります。バージョンが異なると動作が少し異なる場合があります。manO / Sの詳細については、ページを確認してください。


4
-1申し訳ありませんが、これらはLinuxコマンドであり、FreeBSDでは動作しません。
クリスS

2
@ChrisSは、FreeBSDの変更を参照するように更新されました。 routeマイナーな構文変更を伴う複数の実装があります。
BillThor

1
「ip route」コマンドに賛成票を投じてください。
セルジオ

9

ワンライナーは次のとおりです。

ip route replace default via 1.2.3.4

1.2.3.4新しいゲートウェイIPはどこですか

クレジット


2
-1申し訳ありませんが、これらはLinuxコマンドであり、FreeBSDでは動作しません。
クリスS

3

はい、ルートを変更してネットワークを再起動するだけです。

/etc/rc.d/netif restart

2
それはうまくいきますが、それはたくさんのことを再起動します...そしてインターフェースにバインドされているアプリケーションを壊すかもしれません。
クリスS

1

あなたが試すことができます:

route add default gw 192.168.1.254 eth0

-1申し訳ありませんが、これらはLinuxコマンドであり、FreeBSDでは動作しません。
クリスS

Route addただし、FreeBSD 8.4のインストールの一部です。しかし、ええ、間違ったOSに答える多くの人々がここにいます。
ヘネス

1
@Hennesのroute add部分は問題なく動作します。GNU / Linuxが追加したgw部分は、他の* nixでは機能しません。gwすべてのBSD、Solaris、OSX、HPUX、AIXなどでの作業なし
クリスS

1

非常に簡単です。次のコマンドを入力するだけです。

$ route del 0/0
$ route add 0/0 192.168.0.1

「192.168.0.1」を選択したIPに置き換える必要があります。

また、変更を確認するには、「netstat」を使用できます。

$ netstat -r

このコマンドは、システムのルーティングテーブルを表示します。


「0/0」とは何ですか?
WWW

1
@WWW '0/0'はネットワークブロック '0.0.0.0/0'の省略形です。これは 'default'と同じですが、 '0/0'を好みます(私はもっと古い学校だと思います) )。
ifm

0

常に最初に使用netstat -nrして、ゲートウェイの内容と詳細を確認します0.0.0.0。そのデフォルトのものであり、最初にこのコマンドを使用するよりもこのゲートウェイを変更する理由を考える必要がある場合:

route add default gw your ip eth0

-1申し訳ありませんが、これらはLinuxコマンドであり、FreeBSDでは動作しません。
クリスS
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.