Pfsense needs to be restartet in case of pppoe 24h disconnect



  • Okay, i installed the latest snapshot. I saved the WAN interface many times. But the /etc/pppoerestart file is still the same and so the error still occurs.

    
    #!/bin/sh
    echo 'es_dyndns_reset(wan); ?>' | /usr/local/bin/php -q
    
    


  • The new file should be on /var/etc/pppoefile actually.
    It should have interface_reconfigure in it.



  • Okay can be executed but it wont restart the wan session, it just reload the filter (seen in the logs)

    
    # cat /var/etc/pppoewanrestart
    #!/bin/sh
    /usr/bin/touch /tmp/filter_dirty
    # 
    
    


  • Did you click save on the Interfaces -> WAN page?

    The code is there…

    define("CRON_PPPOE_CMD", "#!/bin/sh\necho '' | /usr/local/bin/php -q");



  • You are on an older snapshot. Try a new one.



  • So I have now the latest snapshot:

    2.0-ALPHA-ALPHA
    built on Fri Nov 21 04:39:23 EST 2008
    FreeBSD 7.1-PRERELEASE

    Console:

    
    # cat /var/etc/pppoewanrestart
    #!/bin/sh
    /usr/bin/touch /tmp/filter_dirty
    #
    
    
    
    #cat /etc/crontab
    ...
    0	4	*	*	*	root	/etc/pppoerestart
    0	4	*	*	*	root	/var/etc/pppoewanrestart
    ...
    
    

    So you see still the same. And in my crontab are now two entries, i think the old entry and the new corrected one. I think i triggered the save routine now 3 times but same result.

    And i recognized that if i save the wan configuration and aplly them the whole system is interuppted. I take up to 30 seconds until my box reacts on request (http, ssh and so on) to the box itself. I think a routine for resetting the interface or restarting the mpd daemon shut not block the whole system.



  • First edit /etc/crontab and remove both of those reset entries.

    Next update to the snapshot that will be ready about 2 hours from this post.  Next click save on interfaces, wan.

    Check the file in /conf/ (not /var/etc/).  /var/ is a ramdisk on embedded and that file will be wiped out on a reboot.



  • Okay i did what you said.

    My /etc/crontab now look like that:

    cat /etc/crontab

    SHELL=/bin/sh
    PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
    HOME=/var/log
    #minute hour    mday    month   wday    who      command

    pfSense specific crontab entries

    Created: November 29, 2008, 9:49 am

    0 * * * * root /usr/bin/nice -n20 newsyslog
    1,31 0-5 * * * root /usr/bin/nice -n20 adjkerntz -a
    1 3 1 * * root /usr/bin/nice -n20 /etc/rc.update_bogons.sh
    */60 * * * * root /usr/bin/nice -n20 /usr/local/sbin/expiretable -v -t 3600 sshlockout
    1 1 * * * root /usr/bin/nice -n20 /etc/rc.dyndns.update
    */60 * * * * root /usr/bin/nice -n20 /usr/local/sbin/expiretable -v -t 3600 virusprot
    */60 * * * * root /usr/bin/nice -n20 /usr/local/sbin/expiretable -t 3600 snort2c
    */5 * * * * root /usr/local/bin/checkreload.sh
    */5 * * * * root /etc/ping_hosts.sh
    */140 * * * * root /usr/local/sbin/reset_slbd.sh
    0 5 * * * root /etc/pppoerestart
    0 4 * * * root /conf/pppoewanrestart

    If possible do not add items to this file manually.

    If you do so, this file must be terminated with a blank line (e.g. new line)

    My reset time is set to 4 o'clock. I dunno why still there is a entry for 5 o'clock, it wasnt there before.

    So today at 4 o'clock he triggered the script and reinitiate the pppoe connection. But after that the dnsmasq hung. He consumes up to 80% of the cpu usage and dont like to respond anymore. I killed the process and startet it again, it works now again. I think a bit of delay is needed after restarting the dnsmasq service. Because i also triggered the script(/conf/pppoewanrestart) by hand and the same problem occured. I got also a message back, but i think it has nothing to do with the dnsmasq problem:

    /conf/pppoewanrestart

    Warning: Missing argument 2 for services_dyndns_reset(), called in /root/- on line 1 and defined in /etc/inc/services.inc on line 438



  • Okay this is due to Ermals changes (eri–).  I'll leave this to him to fix.



  • Try next snapshot should be fixed.



  • Hello,

    err…snap server has no new snaps since 5th. Can you kick him awake?  :P

    cheers,



  • Sorry, isnt fixed. Same problem occurs.

    Actual Version:
    2.0-ALPHA-ALPHA
    built on Tue Dec 9 06:25:48 EST 2008
    FreeBSD 7.1-RC1



  • What do you mean by same?



  • So today at 4 o'clock he triggered the script and reinitiate the pppoe connection. But after that the dnsmasq hung. He consumes up to 80% of the cpu usage and dont like to respond anymore. I killed the process and startet it again, it works now again. I think a bit of delay is needed after restarting the dnsmasq service.

    This problem what i had reported before.



  • I just wanted to let you know, that this bug still exists and it makes 2.0 pretty much unusable for users in germany and some other countrys where the ISP does frequent disconnects (every 24 hours)…

    The only way to get the connection back up is to click "save" on the wan interface page or reboot, since the disconnect button is not working...

    "2.0-ALPHA-ALPHA
    built on Fri Dec 26 18:44:24 EST 2008"



  • Disconnect actualy works afaik.



  • yep it drops the connection ;) but then the button still says "disconnect", and the only way to get it back up is clicking save on the wan interface page  ;D



  • Hi,

    Once again, in a more detailed way the error description.

    Our provider here in germany reset after every 24 hours the connection. Also the connection can drop instantly if there is a connection error. So pfSense should monitor the connection if there is still a wan link(a ip address given). And if not, restart it. There should be unlimited retrys, because if it is the only wan connection its vitale.

    Also the problem with the periodic reset is still present. If i set in my wan connection a periodic resettime, the reset will successfully triggered at the given time.

    The triggered script:

    Output of "cat /etc/crontab | grep pppoe"

    
    0       5       *       *       *       root    /etc/pppoerestart
    0       4       *       *       *       root    /conf/pppoewanrestart
    
    

    I dunno why we need there two scripts. But i think the first is the real "periodic reset" script. But if you trigger it by hand or by crontab the same result happens:
    Output of "ps aux":

    
      PID USERNAME  THR PRI NICE   SIZE    RES STATE    TIME   WCPU COMMAND
    27289 nobody      1 113    0  3132K  1680K RUN    424:26 77.29% dnsmasq
    36685 root        1   4    0 41312K 16828K accept   0:14  0.00% php
    ....
    
    

    The dnsmasq hung. No DNS requests will by anymore handled. The easiest way to handle it is by console:

    
    # killall -9 dnsmasq
    # dnsmasq
    
    

    It also works over the webinterface, but you must use the IP address of the interface because hostname will not be resolved by dnsmasq. And then press once the Interface WAN save button and apply your "changes". I hope that can be fixed now.



  • One more Problem seem to occur now. After he reestablish the connection sometimes it terminate after a hour or two. Its very bad for german ppl to try the new pfSense and to post bugs, if the box is more offline than online. I hope somebody from the dev team can help us :)



  • Okay a short log part of the errors when he randomly disconnects:

    
    Feb 19 18:51:54 	php: : ERROR! PPTP enabled but could not resolve the $pptpdtarget
    Feb 19 18:51:54 	php: : Could not find gateway for interface(wan).
    Feb 19 18:51:54 	last message repeated 9 times
    Feb 19 18:51:54 	php: : The command '/sbin/pfctl -o basic -f /tmp/rules.debug' returned exit code '1', the output was 'pfctl: DIOCSETSTATUSIF'
    Feb 19 18:51:54 	php: : New alert found: There were error(s) loading the rules: pfctl: DIOCSETSTATUSIF The line in question reads [ DIOCSETSTATUSIF]:
    Feb 19 18:51:54 	php: : There were error(s) loading the rules: pfctl: DIOCSETSTATUSIF - The line in question reads [ DIOCSETSTATUSIF]:
    
    

Log in to reply