如何更改默认网关?

WWW*_*WWW 23 freebsd routing

目前我运行的是 FreeBSD 9.1 并且默认网关已经在rc.conf.

rc.conf

defaultrouter = "10.0.0.1"
Run Code Online (Sandbox Code Playgroud)

但是现在我想在不重新启动系统的情况下更改默认网关,这可能吗?

Chr*_*s S 22

route del default
route add default 1.2.3.4
Run Code Online (Sandbox Code Playgroud)

1.2.3.4新的网关在哪里。您甚至可以将它们连接到同一行;

编辑:这是 FreeBSD,而不是Linux。命令不一样。如果您没有足够仔细地阅读问题来确定所使用的操作系统,请不要编辑此答案。

  • 注意:在控制台中执行此操作,而不是通过 ssh。如果必须通过 ssh(或其他网络方法)执行此操作,请使用 `;` 或 `&&` 同时发出两个命令 (6认同)
  • 或者,使用通用安全方法:1) 登录 shell,在 15 分钟内关闭/重新启动 **除非取消** 2) 做不安全的事情。3) 取消关机/重启。 (4认同)
  • 在 Linux 上,命令 `ip route del default` 和 `ip route add default via 1.2.3.4` 工作。因此该命令仍然与 Linux 用户相关,因为它有很多相似之处。 (3认同)

Bil*_*hor 18

您可以使用iproute命令添加新的默认路由并删除旧路由。下面的命令将用 192.0.2.1 替换网关。两个命令对都做同样的事情。FreeBSD 和其他操作系统应该有一个或两个程序,可能格式略有不同。(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 
Run Code Online (Sandbox Code Playgroud)

这些命令有多种实现方式,因此上述内容可能与您的实现方式不符。您的实现应该有一个man页面,其中包含常见用例的示例,例如添加和删除默认网关。尝试man routeman ip看到你的实现是如何工作的。

将 192.0.2.1 更改为所需的默认网关。默认网关需要位于您直接连接的网络之一上。您可以以类似的方式更改您的 IP 地址。 ip是一种较新的工具,它可以完成您在 IPv4 和 IPv6 网络上查看和管理 IP 地址和路由所需的大部分工作。 ifconfig是用于在 IPv4 网络上配置 IP 地址的旧工具。

要使更改永久化,请更新/etc. 文件因您使用的发行版而异。

这些命令中的至少一个应该在任何 Unix 派生的 O/S 上可用。不同版本的工作方式可能略有不同。检查man页面以了解有关您的操作系统的详细信息。

  • -1 抱歉,这些是 **Linux** 命令,在 **FreeBSD** 上不起作用。 (4认同)
  • @ChrisS 更新以引用 FreeBSD 的更改。`route` 有多个实现,但语法变化很小。 (2认同)

art*_*bot 12

编辑:如果您使用的是 Linux,这可能很有用,但 OP 询问了 FreeBSD

这是一个单行:

ip route replace default via 1.2.3.4
Run Code Online (Sandbox Code Playgroud)

1.2.3.4新的网关IP在哪里

信用

  • -1 抱歉,这些是 **Linux** 命令,在 **FreeBSD** 上不起作用。 (2认同)