下一步 上一步 目录

10. 源端 PLIP

本节描述如何在服务器上设置 plip 接口。如果您遇到问题,我建议您阅读 PLIP MINI-HOWTO

检查您的 lp 设备是否未设置。您应该没有以下条目

     $ cat /proc/devices 
     Character devices:
     ...
     6 lp
     ...
    

如果您有,请终止 lpd 守护进程并移除 lp 模块

     $ /etc/rc.d/init.d/lpd.init stop
     Shutting down lpd: lpd

     $ rmmod lp
    

如果您无法移除 lp 模块,那么您必须重新编译内核,并将 lp 服务编译为模块。

现在,"6 lp" 行已从 /proc/devices 文件中消失,这反映了内核的功能。

您不必一定要移除 lp 设备:这个方案可能在有 lp 设备的情况下也能工作。但不保证(对我来说可以工作)。请您自行检查。

检查您的并行端口是否被处理

     $ ls /proc/parport/
     0/
     
     $ cat /proc/parport/0/hardware 
     base:   0x378
     irq:    7
     dma:    none
     modes:  SPP,ECP,ECPEPP,ECPPS2
    

如果您在 /proc/parport/ 下没有任何目录,那么您必须加载 parportparport_pc 模块

     $ insmod parport
     $ insmod parport_pc
    

您应该在 /var/log/messages 中看到这个新条目

     Oct  9 20:50:47 louloutte kernel:
     parport0: PC-style at 0x378 [SPP,ECP,ECPEPP,ECPPS2]

     Oct  9 20:50:47 louloutte kernel: 
     parport0: detected irq 7; 
     use procfs to enable interrupt-driven operation.
    

我重复这条消息 “detected irq 7, use procfs to enable interrupt-driven operation”,所以

     $ echo 7 >  /proc/parport/0/irq
    

使用 2.4 内核时,最后一个命令不再可用。请改用

        $ insmod parport
        $ insmod parport_pc io=0x378 irq=7

检查 plip 模块是否已加载

     $ lsmod |grep plip
    

如果 plip 模块未加载,则加载它

     $ insmod plip
    

您应该在 /var/log/messages 中看到类似这样的信息

     ==> /var/log/messages <==
     Oct  8 16:34:12 louloutte kernel:
     NET3 PLIP version 2.3-parport gniibe@mri.co.jp
    
     Oct  8 16:34:12 louloutte kernel: 
     plip0: Parallel port at 0x378, using IRQ 7
     

如果您无法加载 plip 模块,那么您必须重新编译内核,并将 plip 服务编译为模块。

syslog 消息表明模块已加载到 plip0 接口。配置 plip0 接口

     $ ifconfig plip0 source pointopoint target netmask 255.255.255.255 up
    

检查一切是否正常。

     $ ifconfig plip0
     plip0     Link encap:10Mbps Ethernet  HWaddr FC:FC:C0:A8:00:02
          inet addr:192.168.0.2  P-t-P:192.168.0.1  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0
          TX packets:0 errors:0 dropped:0 overruns:0
          Interrupt:7 Base address:0x378 
    

现在您可以本地 ping 服务器

     $ ping source
     PING source (192.168.0.2): 56 data bytes
     64 bytes from 192.168.0.2: icmp_seq=0 ttl=255 time=0.3 ms
     64 bytes from 192.168.0.2: icmp_seq=1 ttl=255 time=0.2 ms
     
     --- source ping statistics ---
     2 packets transmitted, 2 packets received, 0% packet loss
     round-trip min/avg/max = 0.2/0.2/0.3 ms
    

验证到目标的路由是否存在

     $ route
     Kernel IP routing table
     Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
     target          *               255.255.255.255 UH    0      0        0 plip0
    

如果路由不存在,请添加它

     $ route add -host  192.168.0.1  dev plip0
    

目标配置后,您将能够进行 ping 测试

     $ ping target
     PING 192.168.0.1 (192.168.0.1): 56 data bytes
     64 bytes from 192.168.0.1: icmp_seq=0 ttl=64 time=4.5 ms
     64 bytes from 192.168.0.1: icmp_seq=1 ttl=64 time=4.3 ms
     
     --- 192.168.0.1 ping statistics ---
     2 packets transmitted, 2 packets received, 0% packet loss
     round-trip min/avg/max = 4.3/4.4/4.5 ms
    

但是如果您现在尝试,您应该会得到

     $ ping target
     PING target (192.168.0.1): 56 data bytes
     
     --- target ping statistics ---
     5 packets transmitted, 0 packets received, 100% packet loss
    

现在,服务器网络已准备就绪,可以工作了。恭喜您。


下一步 上一步 目录