当前位置:Linux教程 - Linux - Solaris中配置单网卡的Unix路由器

Solaris中配置单网卡的Unix路由器

作者: 郑更生

----我们一般认为,路由器连接在多个网络上,所以它应当对应每个网络有一块网卡和一个IP地址。然而在实际中可能会
出现需建立一个内部网以解决Internet的IP地址不够用的情况,而工作站往往在自己的主板上又已集成了一块网卡。如何
利用现有的资源设置路由器呢?似乎不好办,然而事实上单网卡工作站也可以配成TCP/IP网络路由器。在装有Solaris2.x
操作系统的SUN工作站上,可以采用下述方法来配置。

一、配置路由器接口
----1.创建/etc/hostname.interface文件
----对应每个连接的网络均应有一个hostname.interface文件,其中interface为网卡的代号名。对多网卡的情况interface
应不相同,但对单网卡路由器而言,这些文件的interface是相同的。怎么区别这些文件呢?可以创建hostname.interface:n
文件,用n作区别来虚拟多个网卡。计算机启动时将检测此类文件的个数,如果找到多个hostname.interface文件则认为是路
由器,否则认为是主机。例如一台SUN工作站连接了Internet网和内部网,则可对应创建两个文件分为hostname.le0和
hostname.le0:2。

----2.为接口分配主机名

----在以上的每个hostname.interface文件中,加入主机名,必须注意对应不同的网络接口,即同一主机须用不同的主机名以
区别不同的IP地址。对于上例,用vi命令编辑两文件分别填入sun1和sun2,实际上是一台主机。

----3.在/etc/inet/hosts中加入主机名和IP地址,格式为:

IPaddresshostname
202.114.209.37sun1
180.114.20.1sun2

----注意IP地址是网卡连接的对应多个网络的不同的IP地址,其中202.114.209.37是主机在Internet上的合法地址,而
180.114.20.1则是内部网上自己分配的地址,内部网上的IP地址不必担心与Internet上重名的IP地址发生冲突,因为上级网
关将视其非法并拒绝给予服务。
----4.修改/etc/inet/netmasks文件

----如果路由器与子网相连,还应修改/etc/inet/netmasks并填入本地网号(如129.9.0.0)与屏蔽号(如255.255.255.0)。

二、路由协议选择
----可采用静态路由协议或动态路由协议如路由信息协议(RIP)和ICMP寻径协议(RDISC)。
----选用动态路由协议,则可将/etc/defaultrouter文件置为空。路由器将自动与RIP和RDISC交谈,这些协议跟踪路由器并
广播路由信息,让路由器在本地文件模式下工作。这将保证在网络服务器的配置失效后,路由器可以照常工作。

----若选择静态协议,只需在/etc/defaultrouter文件中填入缺省路由器名,这样当Unix路由器找不到寻径路由时便将IP包发
往缺省路由器。如本例用misrouter作缺省路由器,还需在/etc/inet/hosts中加入其IP地址:202.114.209.19和机器名:
misrouter。

三、重新启动计算机
----计算机启动时,系统内部将调用ifconfig命令对所连接的多个网络进行接口配置,并检测到有多个hostname.interface文
件存在,于是计算机认为自己作路由器。
----一个单网卡的路由器便配成了,所有的内部网上计算机可以用内部IP地址通信,不受所分配的有限IP地址限制,而与
Internet的通信则通过单网卡的Unix路由器进行。可见它虽是单网卡,却有多个IP地址,实质是利用虚拟接口文件
hostname.interface:n来“冒充”多网卡。

----(作者地址:武汉邮电科学研究院系统部,430074;收)