source routing across routing problems

True Entropy unexpectedvalue at yahoo.com
Mon Jul 28 23:19:52 UTC 2008


This may have nothing to do with FreeBSD, but maybe someone will have a suggestion:

We have servers A, B and C connected to three different ISPs on 3 continents.

As of few days ago A and C cannot talk to each other (the routing problem is upstream of
all end-point ISPs so who knows when will it be solved.) B can talk to both A and C.

The 'obvious' idea is to use B as relay and source-route traffic between A and C to go
via B. However, no amount of static routing, firewall allow-ing, sysctl-ing would do the
trick. The packet would never even leave from A or C for the other side.

Is there some other barrier to the source routing that has not been taken care of? I know
that this can be taken care of with ssh tunnelling for each specific
application/protocol, but the networks are more complex than abstracted here.

In short, this was attempted:

A:

route add C B
sysctl net.inet.ip.sourceroute=1
sysctl net.inet.ip.accept_sourceroute=1

B:

rc.conf: gateway_enable="YES"
sysctl net.inet.ip.sourceroute=1
sysctl net.inet.ip.accept_sourceroute=1
ipfw add pass ip from A to B
ipfw add pass ip from B to A


C:

route add A B
sysctl net.inet.ip.sourceroute=1
sysctl net.inet.ip.accept_sourceroute=1





.


end



.

(spam starts here)


      


More information about the freebsd-questions mailing list