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