Michael C. Toren on 6 Dec 2004 14:29:02 -0000 |
On Mon, Dec 06, 2004 at 01:24:10AM -0500, Doug Crompton wrote: > I am switching from PPP to Ethernet (DSL) and in the transition phase it > would be nice. It seems that different paths - EG. in on PPP out on DSL > or in on DSL out on PPP does not work. The data flows but the connection > never establishes. Can't you have different RX/TX data paths? Asymmetric routing is indeed possible, however two items may be getting in your way. The first is Linux's return-path verification, which as a security precaution attempts to permit only symmetric routing. Debian enables rp_filter by default; I don't know what the default settings are for other distributions. To disable it, simply execute the following: echo 0 > /proc/sys/net/ipv4/conf/eth0/rp_filter echo 0 > /proc/sys/net/ipv4/conf/ppp0/rp_filter The second item is that your upstream provider may also be implementing return-path verification to prevent their customers from spoofing packets. If you suspect this is the case, and if your dialup has a static IP, you may want to contact them and see if they would be willing to temporarily permit packets with a source address of your ppp0 through. > So instead of that, in a system with ppp0 and eth0 can you have the data > go out the same path in came in on with the same IP- in esscense two route > defaults. All data that came in on ppp0 goes out on ppp0 and data in on > eth0 goes out on eth0. Yes, this is also possible. One solution is to implement policy routing which will make routing decisions based on the source address rather than the destination address. As Eric mentioned, the Linux Advanced Routing & Traffic Control (LARTC) HOWTO is an excellent resource for configurations such as this, and can be found at lartc.org. HTH, -mct -- perl -e'$u="\4\5\6";sub H{8*($_[1]%79)+($_[0]%8)}sub G{vec$u,H(@_),1}sub S{vec ($n,H(@_),1)=$_[2]}$_=q^{P`clear`;for$iX){PG($iY)?"O":" "forX8);P"\n"}for$iX){ forX8){$c=scalar grep{G@$_}[$i-1Y-1Z-1YZ-1Y+1ZY-1ZY+1Z+1Y-1Z+1YZ+1Y+1];S$iY,G( $iY)?$c=~/[23]/?1:0:$c==3?1:0}}$u=$n;select$M,$C,$T,.2;redo}^;s/Z/],[\$i/g;s/Y /,\$_/xg;s/X/(0..7/g;s/P/print+/g;eval' # Michael C. Toren <mct@toren.net> ___________________________________________________________________________ Philadelphia Linux Users Group -- http://www.phillylinux.org Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce General Discussion -- http://lists.phillylinux.org/mailman/listinfo/plug
|
|