本节描述如何在源服务器上设置 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/ 下没有任何目录,那么您必须加载 parport 和 parport_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
现在,服务器网络已准备就绪,可以工作了。恭喜您。