Solaris11.1如何设置缺省路由

solaris11有两种网络配置模式,分别是手动和自动。两种模式下配置缺省路由方式是一样的。本文示例为手动方式。

1. 查看网络配置模式:


root@sol11ai:~# netadm list
TYPE        PROFILE        STATE
ncp         Automatic      disabled
ncp         DefaultFixed   online
loc         Automatic      offline
loc         NoNet          offline
loc         DefaultFixed   online
当前生效的profile是DefaultFixed,即手动模式。

2. 检查当前路由设置:


root@sol11ai:~# route -p show
No persistent routes are defined
未设置永久路由

root@sol11ai:~# netstat -rn

Routing Table: IPv4
  Destination           Gateway           Flags  Ref     Use     Interface
-------------------- -------------------- ----- ----- ---------- ---------
127.0.0.1            127.0.0.1            UH        2        142 lo0      
192.168.114.0        192.168.114.10       U         4    1586858 net0     

Routing Table: IPv6
  Destination/Mask            Gateway                   Flags Ref   Use    If  
--------------------------- --------------------------- ----- --- ------- -----
::1                         ::1                         UH      2       0 lo0  
fe80::/10                   fe80::20c:29ff:fe15:5d1d    U       2      21 net0 
当前路由表中没有缺省路由信息

3. 设置路由


为了了解route命令把永久路由放在了哪里,此处用truss跟踪一下route命令。
root@sol11ai:~# truss -o truss.out route -p add default 192.168.114.2
add net default: gateway 192.168.114.2
add persistent net default: gateway 192.168.114.2
-p参数用于设置永久路由
root@sol11ai:~# route -p show
persistent: route add default 192.168.114.2
root@sol11ai:~# netstat -rn

Routing Table: IPv4
  Destination           Gateway           Flags  Ref     Use     Interface
-------------------- -------------------- ----- ----- ---------- ---------
default              192.168.114.2        UG        1          0          
127.0.0.1            127.0.0.1            UH        2        142 lo0      
192.168.114.0        192.168.114.10       U         5    1587003 net0     

Routing Table: IPv6
  Destination/Mask            Gateway                   Flags Ref   Use    If  
--------------------------- --------------------------- ----- --- ------- -----
::1                         ::1                         UH      2       0 lo0  
fe80::/10                   fe80::20c:29ff:fe15:5d1d    U       2      21 net0

以下是truss信息


......
so_socket(PF_ROUTE, SOCK_RAW, 0, 0, SOV_DEFAULT) = 3
......
shutdown(3, SHUT_RD, SOV_DEFAULT)               = 0
write(3, " |\00301\0\0\0\002\b\0\0".., 124)     = 124
以上信息表明route命令更改了路由表

ioctl(1, TCGETA, 0xFCD35570)                    = 0
fstat64(1, 0xFCD354D0)                          = 0
write(1, " a d d   n e t   d e f a".., 39)      = 39
open("/etc/inet/static_routes-DefaultFixed", O_RDWR|O_CREAT, 0644) = 4
fstat(4, 0xFCD36470)                            = 0
fcntl(4, F_SETLK, 0xFCD36500)                   = 0
fcntl(4, F_GETFD, 0x00000000)                   = 0
fstat64(4, 0xFCD35AD0)                          = 0
fstat64(4, 0xFCD359E0)                          = 0
ioctl(4, TCGETA, 0xFCD35A80)                    Err#25 ENOTTY
read(4, " #   F i l e   g e n e r".., 512)      = 45
read(4, 0x08A7126C, 512)                        = 0
lseek(4, 0, SEEK_END)                           = 45
write(1, " a d d   p e r s i s t e".., 50)      = 50
write(4, " d e f a u l t   1 9 2 .".., 22)      = 22
close(4)
route命令把永久路由信息写到了/etc/inet/static_routes-DefaultFixed文件中。

注意,以上是网络配置为手动的情况。当网络配置为自动时,永久路由信息是写到另外的文件中的。尽管solaris11不建议通过手工修改文件的方式设置永久路由信息,但实际上是可以这样做的。即直接修改/etc/inet/static_routes-DefaultFixed文件(手动模式)。

另外虽然solaris11不建议在/etc/defaultrouter中设置缺省路由,但实际上在这个文件中设置仍然有效。

原文地址:https://www.cnblogs.com/cqubityj/p/3044484.html