Linux PPP Null Modem Connection

This is a discussion on Linux PPP Null Modem Connection within the PPP forums, part of the Protocols category; Dear all, Please could you help me to establish PPP connection between 2 Linux boxes enabling the client to go to Internet through a serial cable and the server? On ...

Go Back   Unix Linux Forum > Technologies & Tools > Protocols > PPP

FixUnix.com - Unix Linux Forums

Unix Content Register FAQ Calendar Search Today's Posts Mark Forums Read
  #1  
Old 07-18-2008, 12:08 PM
Default Linux PPP Null Modem Connection

Dear all,

Please could you help me to establish PPP connection between 2 Linux
boxes enabling the client to go to Internet through a serial cable and
the server?
On both of the machines there is a fresh Mandriva 2008.1 installation
with all updates available.
One of the machines (server) is a part of a local area network and is
connected to the Internet via Ethernet.
The other machine (client) is only connected via serial cable to
server.
What I want to do is to be able to connect to Internet from the client
machine via serial cable connected to server. Firstly I would like to
be able to ping any Interned address from client.

I have disabled firewall and then I have enabled IP forwarding - I
have set net.ipv4.ip_forward = 1 in
/etc/sysctl.conf.
Then I followed chapter 29 "Using PPP across a null modem (direct
serial) connection" of http://tldp.org/HOWTO/PPP-HOWTO/ and in
addition to I have disabled authentication and compression in the
options files to make first try as easy as possible.

/etc/ppp/options.ttyS1 on server is:
crtscts
lock
192.168.1.1:192.168.1.2
debug
proxyarp
noauth
nodeflate
nobsdcomp

/etc/ppp/options.ttyS1 on client is:
crtscts
lock
defaultroute
192.168.1.2:192.168.1.1
debug
noauth
nodeflate
nobsdcomp

I have called “pppd /dev/ttyS1” nodetach firstly on server and then
on client.
The result on server was:
pppd nodetach /dev/ttyS1
using channel 1
Using interface ppp0
Connect: ppp0 <--> /dev/ttyS1
sent [LCP ConfReq id=0x1
]
rcvd [LCP ConfAck id=0x1
]
rcvd [LCP ConfReq id=0x1
]
sent [LCP ConfAck id=0x1
]
sent [IPCP ConfReq id=0x1
]
rcvd [IPCP ConfReq id=0x1 dns1 0.0.0.0> ]
sent [IPCP ConfRej id=0x1 ]
rcvd [IPCP ConfRej id=0x1 ]
sent [IPCP ConfReq id=0x2 ]
rcvd [IPCP ConfReq id=0x2 ]
sent [IPCP ConfAck id=0x2 ]
rcvd [IPCP ConfAck id=0x2 ]
Cannot determine ethernet address for proxy ARP
local* IP address 192.168.1.1
remote IP address 192.168.1.2

the result on client was:
pppd nodetach /dev/ttyS1
using channel 1
Using interface ppp0
Connect: ppp0 <--> /dev/ttyS1
sent [LCP ConfReq id=0x1
]
rcvd [LCP ConfAck id=0x1
]
rcvd [LCP ConfReq id=0x1
]
sent [LCP ConfAck id=0x1
]
sent [IPCP ConfReq id=0x1 dns1 0.0.0.0> ]
rcvd [IPCP ConfReq id=0x1
sent [IPCP ConfRej id=0x1 ]
rcvd [IPCP ConfRej id=0x1 ]
sent [IPCP ConfReq id=0x2 ]
rcvd [IPCP ConfReq id=0x2 ]
sent [IPCP ConfAck id=0x2 ]
rcvd [IPCP ConfAck id=0x2 ]
local* IP address 192.168.1.2
remote IP address 192.168.1.1

After the connection was established I could ping 192.168.1.1. from
the client
and 192.168.1.2 from the server. But was not able to ping any other
address
and could not go to the Internet from client.

Probably the message on server:
Cannot determine ethernet address for proxy ARP
which I have received might describe the problem?

Thanks for any help
pavel

Reply With Quote
  #2  
Old 07-18-2008, 02:59 PM
Default Re: Linux PPP Null Modem Connection

pavelv writes:
> rcvd [IPCP ConfReq id=0x2 ]
> sent [IPCP ConfAck id=0x2 ]
> rcvd [IPCP ConfAck id=0x2 ]
> Cannot determine ethernet address for proxy ARP
> local* IP address 192.168.1.1
> remote IP address 192.168.1.2


Those log messages look highly unlikely to me. They show the daemon
negotiating one set of addresses and then using a completely different
set.

How did you capture these logs and post them? Did you paste them
together from different files?

> After the connection was established I could ping 192.168.1.1. from
> the client
> and 192.168.1.2 from the server.


It sounds like the PPP link itself works.

> But was not able to ping any other
> address
> and could not go to the Internet from client.


That's because you have non-routable addresses. If you don't have
multiple routable IP addresses from your ISP, then you're going to
need to set up a NAT somewhere.

> Probably the message on server:
> Cannot determine ethernet address for proxy ARP
> which I have received might describe the problem?


No. That describes a relatively minor misconfiguration on the server
side. You specified "proxyarp" for the server configuration, but the
address of the client (192.168.1.2) is not in the same subnet as any
broadcast-type (Ethernet) interface that you have configured. There's
thus no way to do proxy ARP for that address.

If you want proxy ARP for 192.168.1.2 to work, you'll need to have an
appropriate 192.168.x.x network set up.

The reason you can't get to the Internet, though, is the lack of a
configured NAT.

--
James Carlson, Solaris Networking
Sun Microsystems / 35 Network Drive 71.232W Vox +1 781 442 2084
MS UBUR02-212 / Burlington MA 01803-2757 42.496N Fax +1 781 442 1677
Reply With Quote
  #3  
Old 07-21-2008, 05:40 AM
Default Re: Linux PPP Null Modem Connection

Thanks a lot James.

Now I use only one set of IP addresses and it works. I can do to the
Internet via serial cable and PPP.

Thanks again,

Pavel
Reply With Quote
  #4  
Old 08-09-2008, 05:29 PM
Default Re: Linux PPP Null Modem Connection


"pavelv" wrote in message
news:50176ad6-f861-4e41-b7d0-92d2e4a0888d@8g2000hse.googlegroups.com...
Dear all,

Please could you help me to establish PPP connection between 2 Linux
boxes enabling the client to go to Internet through a serial cable and
the server?
On both of the machines there is a fresh Mandriva 2008.1 installation
with all updates available.
One of the machines (server) is a part of a local area network and is
connected to the Internet via Ethernet.
The other machine (client) is only connected via serial cable to
server.
What I want to do is to be able to connect to Internet from the client
machine via serial cable connected to server. Firstly I would like to
be able to ping any Interned address from client.

I have disabled firewall and then I have enabled IP forwarding - I
have set net.ipv4.ip_forward = 1 in
/etc/sysctl.conf.
Then I followed chapter 29 "Using PPP across a null modem (direct
serial) connection" of http://tldp.org/HOWTO/PPP-HOWTO/ and in
addition to I have disabled authentication and compression in the
options files to make first try as easy as possible.

/etc/ppp/options.ttyS1 on server is:
crtscts
lock
192.168.1.1:192.168.1.2
debug
proxyarp
noauth
nodeflate
nobsdcomp

/etc/ppp/options.ttyS1 on client is:
crtscts
lock
defaultroute
192.168.1.2:192.168.1.1
debug
noauth
nodeflate
nobsdcomp

I have called “pppd /dev/ttyS1” nodetach firstly on server and then
on client.
The result on server was:
pppd nodetach /dev/ttyS1
using channel 1
Using interface ppp0
Connect: ppp0 <--> /dev/ttyS1
sent [LCP ConfReq id=0x1
]
rcvd [LCP ConfAck id=0x1
]
rcvd [LCP ConfReq id=0x1
]
sent [LCP ConfAck id=0x1
]
sent [IPCP ConfReq id=0x1
]
rcvd [IPCP ConfReq id=0x1 dns1 0.0.0.0> ]
sent [IPCP ConfRej id=0x1 ]
rcvd [IPCP ConfRej id=0x1 ]
sent [IPCP ConfReq id=0x2 ]
rcvd [IPCP ConfReq id=0x2 ]
sent [IPCP ConfAck id=0x2 ]
rcvd [IPCP ConfAck id=0x2 ]
Cannot determine ethernet address for proxy ARP
local IP address 192.168.1.1
remote IP address 192.168.1.2

the result on client was:
pppd nodetach /dev/ttyS1
using channel 1
Using interface ppp0
Connect: ppp0 <--> /dev/ttyS1
sent [LCP ConfReq id=0x1
]
rcvd [LCP ConfAck id=0x1
]
rcvd [LCP ConfReq id=0x1
]
sent [LCP ConfAck id=0x1
]
sent [IPCP ConfReq id=0x1 dns1 0.0.0.0> ]
rcvd [IPCP ConfReq id=0x1
sent [IPCP ConfRej id=0x1 ]
rcvd [IPCP ConfRej id=0x1 ]
sent [IPCP ConfReq id=0x2 ]
rcvd [IPCP ConfReq id=0x2 ]
sent [IPCP ConfAck id=0x2 ]
rcvd [IPCP ConfAck id=0x2 ]
local IP address 192.168.1.2
remote IP address 192.168.1.1

After the connection was established I could ping 192.168.1.1. from
the client
and 192.168.1.2 from the server. But was not able to ping any other
address
and could not go to the Internet from client.

Probably the message on server:
Cannot determine ethernet address for proxy ARP
which I have received might describe the problem?

Thanks for any help
pavel


Reply With Quote
  #5  
Old 08-10-2008, 02:25 AM
Default Re: Linux PPP Null Modem Connection

"rene" writes:


>"pavelv" wrote in message
>news:50176ad6-f861-4e41-b7d0-92d2e4a0888d@8g2000hse.googlegroups.com...
>Dear all,


>Please could you help me to establish PPP connection between 2 Linux
>boxes enabling the client to go to Internet through a serial cable and
>the server?
>On both of the machines there is a fresh Mandriva 2008.1 installation
>with all updates available.
>One of the machines (server) is a part of a local area network and is
>connected to the Internet via Ethernet.
>The other machine (client) is only connected via serial cable to
>server.
>What I want to do is to be able to connect to Internet from the client
>machine via serial cable connected to server. Firstly I would like to
>be able to ping any Interned address from client.


>I have disabled firewall and then I have enabled IP forwarding - I
>have set net.ipv4.ip_forward = 1 in
>/etc/sysctl.conf.
>Then I followed chapter 29 "Using PPP across a null modem (direct
>serial) connection" of http://tldp.org/HOWTO/PPP-HOWTO/ and in
>addition to I have disabled authentication and compression in the
>options files to make first try as easy as possible.


>/etc/ppp/options.ttyS1 on server is:
>crtscts
>lock
>192.168.1.1:192.168.1.2
>debug
>proxyarp
>noauth
>nodeflate
>nobsdcomp


>/etc/ppp/options.ttyS1 on client is:
>crtscts
>lock
>defaultroute
>192.168.1.2:192.168.1.1
>debug
>noauth
>nodeflate
>nobsdcomp


>I have called “pppd /dev/ttyS1” nodetach firstly on server and then
>on client.
>The result on server was:
>pppd nodetach /dev/ttyS1
>using channel 1
>Using interface ppp0
>Connect: ppp0 <--> /dev/ttyS1
>sent [LCP ConfReq id=0x1
>]
>rcvd [LCP ConfAck id=0x1
>]
>rcvd [LCP ConfReq id=0x1
>]
>sent [LCP ConfAck id=0x1
>]
>sent [IPCP ConfReq id=0x1
> ]
>rcvd [IPCP ConfReq id=0x1 >dns1 0.0.0.0> ]
>sent [IPCP ConfRej id=0x1 ]
>rcvd [IPCP ConfRej id=0x1 ]
>sent [IPCP ConfReq id=0x2 ]
>rcvd [IPCP ConfReq id=0x2 ]
>sent [IPCP ConfAck id=0x2 ]
>rcvd [IPCP ConfAck id=0x2 ]
>Cannot determine ethernet address for proxy ARP
>local IP address 192.168.1.1
>remote IP address 192.168.1.2


>the result on client was:
>pppd nodetach /dev/ttyS1
>using channel 1
>Using interface ppp0
>Connect: ppp0 <--> /dev/ttyS1
>sent [LCP ConfReq id=0x1
>]
>rcvd [LCP ConfAck id=0x1
>]
>rcvd [LCP ConfReq id=0x1
>]
>sent [LCP ConfAck id=0x1
>]
>sent [IPCP ConfReq id=0x1 >dns1 0.0.0.0> ]
>rcvd [IPCP ConfReq id=0x1
> >sent [IPCP ConfRej id=0x1 ]
>rcvd [IPCP ConfRej id=0x1 ]
>sent [IPCP ConfReq id=0x2 ]
>rcvd [IPCP ConfReq id=0x2 ]
>sent [IPCP ConfAck id=0x2 ]
>rcvd [IPCP ConfAck id=0x2 ]
>local IP address 192.168.1.2
>remote IP address 192.168.1.1


>After the connection was established I could ping 192.168.1.1. from
>the client
>and 192.168.1.2 from the server. But was not able to ping any other
>address
>and could not go to the Internet from client.


>Probably the message on server:
>Cannot determine ethernet address for proxy ARP
>which I have received might describe the problem?


>Thanks for any help
>pavel


ppp is point to point. There is no server/client model. It connects two
machines together. Your two machines are connected together. Now things
have to be done via route, proxyarp, etc.

proxyarp says that when someone asks on the "server" side for the location
of the "client", the server will respond with its own mac address. But,
there is no network. What you need on the "server" side is that
masquarading be established on that side ( using your firewall software--
usually shorewall on Linux.)
So, I suspect that the problem is with your firewall.
Eg, if eth0 is the ethernet connection with teh network, you need something
like
eth0 192.168.0.0/255.255.255.0
in /etc/shorewall/masq
or I think
eth0 ppp0



Reply With Quote
Reply

Thread Tools


All times are GMT -5. The time now is 11:04 AM.

In an effort to better serve ads to our visitors, cookies are used on Fixunix.com. For more information, check out our Privacy Policy.

Powered by vBulletin® Version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Ad Management by RedTyger