I realize you must be frustrated while learning something new, but I am
frustrated by you not paying attention. Now let's look at what I wrote
one more time:

>>      set ifaddr  10.0.0.1/0  10.0.0.2/0  0.0.0.0  0.0.0.0
>>                  part#1      part#2      part#3   part#4

The first chunk of part#1, namely '10.0.0.1', says I want my IP address
to be 10.0.0.1 but the second chunk of part#1, namely the '/0', is a
netmask which says I will accept any IP address the remote system wants
me to use on my side.

The first chunk of part#2, namely '10.0.0.2', says I want the remote
side to use IP address 10.0.0.2 but the second chunk of part#2, namely
the '/0', says I will accept any IP address the remote system wants to
use on their side.

The IP addresses (and netmasks) stated in part#1 and part#2 are
important. They should never be the same, and they should never be set
to default route address ('0.0.0.0'). This is why two separate private
IP addresses are used in the above (10.0.0.1 and 10.0.0.2), and also why
the netmask '/0' in CIDR notation allows for the remote side to pick any
address it wants to use for *both* your IP address and its IP address.

If you forget the CIDR notation netmask on part#1 or part#2, you are
DEMANDING that the specified address be used, and if the other side
disagrees, your side will disconnect.

The part#3 is the netmask assigned on my side to the resulting
connection after we negotiate addresses. Links between two systems made
with Point to Point Protocol (ppp) are "weird" in comparison to typical
network links, and some operating systems do not have a specific
PointToPoint netmask in the network stack, so the netmask must be
faked. Using '0.0.0.0' as the part#3 netmask tells the ppp program to
use what is available and the result is ppp will typically set the
netmask to '255.255.255.255' automatically.

The part#4 is the trigger address which controls when ppp will try to 
establish a connection. Since we set part#4 to the equivalent of "any
address" namely '0.0.0.0' any attempt to contact another system will
result in ppp automatically establishing the connection. The thing to
realize is 0.0.0.0 is roughly equivalent to a default route.

The stuff you are doing is just plain wrong:

>  set ifaddr 0.0.0.0/0  0.0.0.0-255.255.255.254  0.0.0.0  0.0.0.0
>>            part#1      part#2                  part#3   part#4

Prior to negotiating address, you are saying your IP address will
initially be 0.0.0.0 and the remote IP address will also initially be
0.0.0.0  The problem is, when two systems have the same IP address you
have a conflict. Additionally, since 0.0.0.0 equates to the default
route, this is very bad. Needless to say, the ppp(8) software is
compensating for your mistakes and doing the best it can with your
broken config.

In the second chunk of your part#1, namely '/0', this netmask says that
you will accept any IP address the other side wants you to use. This is
good.

In the second chunk of part#3, namely '-255.255.255.254' is using the
wrong syntax. The ppp(8) program might interpret this as a range of
addresses, or might interpret it as a pair of addresses, or it might
interpret it as a netmask. You should use simple CIDR notation as
described in the ppp man page. 

If ppp(8) is interpreting this bad second chunk of part#3 as a netmask,
the you are *DEMANDING* that the remote system use 0.0.0.0 or 0.0.0.1 as
its IP address, and if the remote side refuses to use one of those two
addresses, then you will disconnect.


        jcr

  • [no subject] patrick kristensen
    • Re: J.C. Roberts
      • Re: patrick kristensen
        • Re: J.C. Roberts
          • Re: patrick kristensen
            • Re: J.C. Roberts
              • Re: patrick kristensen
                • Re: J.C. Roberts
                • Re: patrick kristensen
                • Re: J.C. Roberts
                • Re: patrick kristensen
                • Re: J.C. Roberts
                • Re: Jussi Peltola
              • Re: Pete Vickers

Reply via email to