After successfully setting up an L2TP VPN with npppd and pppx, I tried to add a second VPN subnet with a different authentication base. I was working remotely, and after starting npppd in debug mode:
bash-4.2# npppd -d 2014-03-19 14:41:50:NOTICE: Starting npppd pid=32407 version=5.0.0 2014-03-19 14:41:50:WARNING: pptpd GRE protocol not allowed 2014-03-19 14:41:51:NOTICE: Load configuration from='/etc/npppd/npppd.conf' successfully. 2014-03-19 14:41:51:INFO: pppx0 Started pppx 2014-03-19 14:41:51:INFO: pppx1 Started pppx 2014-03-19 14:41:51:INFO: Listening /var/run/npppd_ctl (npppd_ctl) 2014-03-19 14:41:51:INFO: ipcp=IPCP_admin pool dyn_pool=[10.128.120.0/25] pool=[10.128.120.0/25] 2014-03-19 14:41:51:INFO: ipcp=IPCP pool dyn_pool=[10.128.120.128/25] pool=[10.128.120.128/25] 2014-03-19 14:41:51:INFO: Loading pool config successfully. the box stopped responding :(. When I got on site, it was frozen and nonresponsive. I rebooted, and on the way back up it panic'd when starting npppd: starting early daemons: syslogd pflogd named ntpd isakmpd npppd. uvm_fault(0xfffffe812f620e00, 0x30, 0, 1) -> e fatal page fault in supervisor mode trap type 6 code 0 rip ffffffff81385b40 cs 8 rflags 10257 cr2 30 cpl 0 rsp ffff8000221fdd38 panic: trap type 6, code=0, pc=ffffffff81385b40 Starting stack trace... panic() at panic+0xf5 trap() at trap+0x7f1 --- trap (number 6) --- mtx_enter() at mtx_enter VOP_KQFILTER() at VOP_KQFILTER+0x2b kqueue_register() at kqueue_register+0x332 sys_kevent() at sys_kevent+0x115 syscall() at syscall+0x249 --- syscall (number 270) --- end of kernel end trace frame: 0x11be0a5e0000, count: 250 0x11be006eca6a: It then said "Syncing disks" and sat there for 30 minutes, at which point I gave up, booted in single user, and disabled npppd. Unfortunately I don't have a serial console logger at the moment, so while I assume it did the same panic when I was working remotely I don't have logs for it. This is a 5.4 box with a generic kernel, other than using config -e to enable ipmi and change the irq for com2. Any thoughts on this? Here is the npppd config that causes it to blow up: authentication LOCAL_admin type local { users-file "/etc/npppd/npppd-users" username-suffix "@admin" } authentication LOCAL type local { users-file "/etc/npppd/npppd-users" } tunnel L2TP_ipv4 protocol l2tp { listen on 96.251.22.154 # l2tp-require-ipsec yes # buggy, doesn't work currently } ipcp IPCP_admin { pool-address "10.128.120.0/25" dns-servers 10.128.0.4 allow-user-selected-address no } ipcp IPCP { pool-address "10.128.120.128/25" dns-servers 10.128.0.4 allow-user-selected-address no } interface pppx0 address 10.128.120.1 ipcp IPCP_admin interface pppx1 address 10.128.120.129 ipcp IPCP bind tunnel from L2TP_ipv4 authenticated by LOCAL_admin to pppx0 bind tunnel from L2TP_ipv4 authenticated by LOCAL to pppx1