动态路由是管理主机上路由的最简单的方法。使用动态路由的主机运行由 IPv4 的 in.routed 守护进程或 IPv6 的 in.ripngd 守护进程提供的路由协议。使用接下来的过程在单接口主机上启用 IPv4 动态路由。有关动态路由的更多信息,请参阅IPv4 网络上的包转发和路由。
在主机上,承担主管理员角色或成为超级用户。
主管理员角色拥有主管理员配置文件。要创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的第 2 章 “使用 Solaris Management Console(任务)”。
# cd /etc # ls | grep defaultrouter |
如果存在 /etc/defaultrouter,则删除在该文件中找到的所有项。
/etc/defaultrouter 文件为空会强制主机使用动态路由。
验证是否在主机上启用了包转发和路由。
# routeadm Configuration Current Current Option Configuration System State --------------------------------------------------------------- IPv4 routing disabled disabled IPv6 routing disabled disabled IPv4 forwarding enabled enabled IPv6 forwarding disabled disabled Routing services "route:default ripng:default" |
如果启用了包转发,请将其关闭
使用以下命令之一:
对于 routeadm 命令,请键入以下内容:
# routeadm -d ipv4-forwarding -u |
要使用 SMF,请键入以下内容:
# svcadm disable ipv4-forwarding |
使用以下命令之一:
对于 routeadm 命令,请键入以下内容:
# routeadm -e ipv4-routing -u |
要使用 SMF,请键入以下内容:
# svcadm enable route:default |
现在已启用 IPv4 动态路由。主机的路由表是由 in.routed 守护进程动态维护的。
以下示例说明如何为图 5–3 所示的网络 192.168.5.0 中的单接口主机 hosta 配置动态路由。hosta 当前将路由器 1 用作其缺省路由器。但是,hosta 现在需要运行动态路由。
首先,请以超级用户身份登录到 hosta 或承担等效角色。然后,确定主机上是否存在 /etc/defaultrouter 文件:
# cd /etc # ls | grep defaultrouter defaultrouter |
grep 的响应指示 hosta 存在相应的 /etc/defaultrouter 文件。
# vi /etc/defaultrouter 192.168.5.10 |
该文件具有项 192.168.5.10(这是路由器 1 的 IP 地址)。请删除此项以启用静态路由。接下来,需要验证是否已对该主机启用了包转发和路由。
# routeadm Configuration Current Current Option Configuration System State --------------------------------------------------------------- IPv4 routing disabled disabled IPv6 routing disabled disabled IPv4 forwarding disabled disabled IPv6 forwarding disabled disabled Routing services "route:default ripng:default" |
对于 hosta,路由和包转发均处于关闭状态。启用路由以完成 hosta 的动态路由配置,如下所示:
# svcadm enable route:default |