My ISP, like many others, is using the technique of terminating the users' PPPoE connection after 24 hours. I would obviously like to have the highest availability possible. I manually arranged the restart to happen early in the morning and also tuned the config option lcp-echo-interval 3 to get a quicker reconnect. However, this is not a truly satisfactory solution. Is there a way to make Linux buffer outgoing packets until the connection is re-established, rather than sending back the ICMP Destination network unreachable? There may also be other caveats I'm not yet sure of, like netfilter dropping the connections table when the ppp0 interface disappears.

EDIT: I have the necessary prerequisites for this to work in principle, like a static IP every time. How do I stop the ICMP errors, keep the NAT table and, optionally, also buffer at least non-bulk packets?

  • Buffering on your end will not help as you have NO WAY to buffer packets coming your way from the Internet. They are gone and this likely invalidates anything you buffered. And if your IP is changing as well then ALL bets are off. And yes, if you use MASQUARADING in iptables, this will invalidate all tracked connections when the device goes down. SNAT is a bit more forgiving but you need static (unchanging) IP on outgoing interface. – Tomek Jun 18 '18 at 16:02
  • I have a static IP and I'm using SNAT, not MASQUERADE. I'm relying on the fact that many connections go slow and if no error is received, they would re-send packets. Now to the original question. – Zdenek Jun 18 '18 at 16:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.