So I have setup UTM9 with 2 PPPoA interface and one LAN interface.
I can get both PPPoA interface to connect if only ONE is active at a time, if I enable BOTH at the same time, thing fail, such as both PPPoA interface go down, or the interface that was up when I start the next one go down, and they never end up UP at the same time.
I have tracked down the problem to this file:
/var/sec/chroot-pptpc/bin/PPTPC.sh
I have done some "hack" in there and I was able to get it working however, my solutions are not "production". So here are the area that needed tweaking:
Most issue in the script come for the fact that someone "assumed" that there would only ever be one PPPoA active.
Most issue are in the FNC_checkPSAX():
if [ "$PPPDPROC" -ne 1 ]; then <-- if there is less or MORE! than one
if [ "$PPTPPROC" -lt 2 ]; then <-- if there is less than 2 TOTAL, it should match per tunnel (less than 2 per PPPoA interface) or maybe 2* total pppoa interfaces.
Both of theses set: stopPPTP=1 Which kill ALL PPPoA connections..
FNC_stopPPTP(): Kills ALL PPPoA... regardless of which one it should really kill
MAIN LOOP:
# keep up that line
while true; do
When it start a PPTP, if there are any active ones it kills them.
if [ "$startPPTP" = "1" ]; then
# Cleanup remaining old instances
pkill -x pppd-pppoa > /dev/null 2>&1
Basically I "tweaked thoses function" to account for 2 PPPoA connection in my case, and disabled the cases where it would kill any active PPPoA when it start a new PPTP, and thing started working.
But for production I suspect there are better ways such as killing PPTP tunnel based on there full grep with the interface label (instead of just grepping for "pptp" like: PPPDPROC=`ps ax | grep -v grep | grep -c $PPPDGREP` )
Thanks you!
PS: Make sure you keep support for multiple PPPoA interface, I am using it!
PPS: This is also broken in V8.
I can get both PPPoA interface to connect if only ONE is active at a time, if I enable BOTH at the same time, thing fail, such as both PPPoA interface go down, or the interface that was up when I start the next one go down, and they never end up UP at the same time.
I have tracked down the problem to this file:
/var/sec/chroot-pptpc/bin/PPTPC.sh
I have done some "hack" in there and I was able to get it working however, my solutions are not "production". So here are the area that needed tweaking:
Most issue in the script come for the fact that someone "assumed" that there would only ever be one PPPoA active.
Most issue are in the FNC_checkPSAX():
if [ "$PPPDPROC" -ne 1 ]; then <-- if there is less or MORE! than one
if [ "$PPTPPROC" -lt 2 ]; then <-- if there is less than 2 TOTAL, it should match per tunnel (less than 2 per PPPoA interface) or maybe 2* total pppoa interfaces.
Both of theses set: stopPPTP=1 Which kill ALL PPPoA connections..
FNC_stopPPTP(): Kills ALL PPPoA... regardless of which one it should really kill
MAIN LOOP:
# keep up that line
while true; do
When it start a PPTP, if there are any active ones it kills them.
if [ "$startPPTP" = "1" ]; then
# Cleanup remaining old instances
pkill -x pppd-pppoa > /dev/null 2>&1
Basically I "tweaked thoses function" to account for 2 PPPoA connection in my case, and disabled the cases where it would kill any active PPPoA when it start a new PPTP, and thing started working.
But for production I suspect there are better ways such as killing PPTP tunnel based on there full grep with the interface label (instead of just grepping for "pptp" like: PPPDPROC=`ps ax | grep -v grep | grep -c $PPPDGREP` )
Thanks you!
PS: Make sure you keep support for multiple PPPoA interface, I am using it!
PPS: This is also broken in V8.