2008/3/12, Randy McMurchy <[EMAIL PROTECTED]>: > Alexander E. Patrakov wrote these words on 03/12/08 12:34 CST: > > Unlike the current pppoe service, my patch alows more than one simultaneous > > PPPoE connection (on more than one network card), really uses the > interface name > > (instead of always using RP-PPPoE default), and doesn't rely on external > > "wizards". Should I apply this? > > Sounds good to me, though it is a bit over my head.
OK, let's try to simplify this "experimentally". You will need: * qemu (or any other virtual machine) or two physical PCs connected to the same Ethernet switch (a cross-over Ethernet cable also works) * two copies of LFS LiveCD 6.3-r2160 (the minimal version should work, too) * a flash drive or floppy with rp-pppoe-3.8 sources, because the copy on the LiveCD is miscompiled and the instructions in the book are bad (i.e., lead to the same miscompilation) for those who attempt to run a server. The goal is to set up an authenticated PPPoE connection between these physical or virtual computers. The miscompilation of rp-pppoe in the book manifests itself as completely wrong packets (according to tcpdump) being sent out in the user-mode by the pppoe-server program, and missing support for kernel-mode PPPoE. This is supposed to be fixed by adding --enable-plugin=yes, but actually this option breaks the build. Start two instances of qemu that communicate with each other, with the following command lines: mkdir vfat cp /path/to/rp-pppoe-3.8.tar.gz vfat qemu -net nic,macaddr=52:54:00:12:34:56 -net socket,listen=127.0.0.1:9999 -cdrom lfslivecd-x86-6.3-r2160.iso -hda fat:vfat -boot d qemu -net nic,macaddr=52:54:00:12:34:57 -net socket,connect=127.0.0.1:9999 -cdrom lfslivecd-x86-6.3-r2160.iso Alternatively, boot two copies of the CD, and make the sources available to the first computer via floppy or flash. In both computers, type "linux nodhcp" at the boot prompt. On the first computer, compile a somewhat-fixed version of rp-pppoe (the fix is incomplete, because user-mode still doesn't work in pppoe-server): mount -o ro /dev/hda1 /mnt # on a real computer, mount floppy or flash tar xf /mnt/rp-pppoe-3.8.tar.gz umount /mnt cd rp-pppoe-3.8/src ./configure grep KERNEL config.h # see the kernel part of the breakage echo '#define HAVE_LINUX_KERNEL_PPPOE 1' >>config.h make PLUGIN_PATH=rp-pppoe.so # reuse the plugin from pppd make install Then, configure the PPPoE server: echo 'test pppoeserver 123 *' >>/etc/ppp/pap-secrets echo 'name pppoeserver' >>/etc/ppp/pppoe-server-options sed -i '/login/d' /etc/ppp/pppoe-server-options modprobe pppoe ip link set eth0 up pppoe-server -k -L 192.168.0.1 -R 192.168.1.1 -F This becomes a PPPoE server that accepts username "test" and password "123" with PAP. On the clent, just run the LiveCD-specific net-setup script, or follow the instructions in the Wiki. The result should be that the ppp0 interface appears on both the client and the server (and ppp1, ppp2, ... ppp63 on the server, if more clients connect), and that 192.168.0.1 is pingable through the ppp0 interface from the client. You can try various alternatives, like running the pppoe-setup script on the client, that sets up old-style (user-mode) PPPoE. Then try connecting with a non-LiveCD client. When you get some practical understanding of the PPPoE client setup, please tell whether the /etc/ppp/peers/pppoe file from LiveCD (that contains options common to all PPPoE connections and is not really supposed to be edited) should be part of the book or of the bootscripts. -- Alexander E. Patrakov -- http://linuxfromscratch.org/mailman/listinfo/blfs-dev FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page
