Discussion:
Linux PPP Null Modem Connection
(too old to reply)
pavelv
2008-07-18 16:08:01 UTC
Permalink
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 <asyncmap 0x0> <magic 0xe1a69af4> <pcomp>
<accomp>]
rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0xe1a69af4> <pcomp>
<accomp>]
rcvd [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xc7173459> <pcomp>
<accomp>]
sent [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0xc7173459> <pcomp>
<accomp>]
sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 196.164.32.114>
<ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
rcvd [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 10.51.12.24> <ms-
dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
sent [IPCP ConfRej id=0x1 <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
rcvd [IPCP ConfRej id=0x1 <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
sent [IPCP ConfReq id=0x2 <compress VJ 0f 01> <addr 196.164.32.114>]
rcvd [IPCP ConfReq id=0x2 <compress VJ 0f 01> <addr 10.51.12.24>]
sent [IPCP ConfAck id=0x2 <compress VJ 0f 01> <addr 10.51.12.24>]
rcvd [IPCP ConfAck id=0x2 <compress VJ 0f 01> <addr 196.164.32.114>]
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 <asyncmap 0x0> <magic 0x4c2dfc79> <pcomp>
<accomp>]
rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0x4c2dfc79> <pcomp>
<accomp>]
rcvd [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x67f0b1c8> <pcomp>
<accomp>]
sent [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0x67f0b1c8> <pcomp>
<accomp>]
sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 10.51.12.24> <ms-
dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
rcvd [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 196.164.32.114>
<ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0
sent [IPCP ConfRej id=0x1 <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
rcvd [IPCP ConfRej id=0x1 <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
sent [IPCP ConfReq id=0x2 <compress VJ 0f 01> <addr 10.51.12.24>]
rcvd [IPCP ConfReq id=0x2 <compress VJ 0f 01> <addr 196.164.32.114>]
sent [IPCP ConfAck id=0x2 <compress VJ 0f 01> <addr 196.164.32.114>]
rcvd [IPCP ConfAck id=0x2 <compress VJ 0f 01> <addr 10.51.12.24>]
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
James Carlson
2008-07-18 18:59:01 UTC
Permalink
Post by pavelv
rcvd [IPCP ConfReq id=0x2 <compress VJ 0f 01> <addr 10.51.12.24>]
sent [IPCP ConfAck id=0x2 <compress VJ 0f 01> <addr 10.51.12.24>]
rcvd [IPCP ConfAck id=0x2 <compress VJ 0f 01> <addr 196.164.32.114>]
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?
Post by pavelv
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.
Post by pavelv
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.
Post by pavelv
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.com>
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
pavelv
2008-07-21 09:40:18 UTC
Permalink
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
rene
2008-08-09 21:29:17 UTC
Permalink
"pavelv" <***@seznam.cz> wrote in message news:50176ad6-f861-4e41-b7d0-***@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 <asyncmap 0x0> <magic 0xe1a69af4> <pcomp>
<accomp>]
rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0xe1a69af4> <pcomp>
<accomp>]
rcvd [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xc7173459> <pcomp>
<accomp>]
sent [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0xc7173459> <pcomp>
<accomp>]
sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 196.164.32.114>
<ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
rcvd [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 10.51.12.24> <ms-
dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
sent [IPCP ConfRej id=0x1 <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
rcvd [IPCP ConfRej id=0x1 <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
sent [IPCP ConfReq id=0x2 <compress VJ 0f 01> <addr 196.164.32.114>]
rcvd [IPCP ConfReq id=0x2 <compress VJ 0f 01> <addr 10.51.12.24>]
sent [IPCP ConfAck id=0x2 <compress VJ 0f 01> <addr 10.51.12.24>]
rcvd [IPCP ConfAck id=0x2 <compress VJ 0f 01> <addr 196.164.32.114>]
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 <asyncmap 0x0> <magic 0x4c2dfc79> <pcomp>
<accomp>]
rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0x4c2dfc79> <pcomp>
<accomp>]
rcvd [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x67f0b1c8> <pcomp>
<accomp>]
sent [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0x67f0b1c8> <pcomp>
<accomp>]
sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 10.51.12.24> <ms-
dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
rcvd [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 196.164.32.114>
<ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0
sent [IPCP ConfRej id=0x1 <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
rcvd [IPCP ConfRej id=0x1 <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
sent [IPCP ConfReq id=0x2 <compress VJ 0f 01> <addr 10.51.12.24>]
rcvd [IPCP ConfReq id=0x2 <compress VJ 0f 01> <addr 196.164.32.114>]
sent [IPCP ConfAck id=0x2 <compress VJ 0f 01> <addr 196.164.32.114>]
rcvd [IPCP ConfAck id=0x2 <compress VJ 0f 01> <addr 10.51.12.24>]
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
Unruh
2008-08-10 06:25:32 UTC
Permalink
Post by pavelv
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.
crtscts
lock
192.168.1.1:192.168.1.2
debug
proxyarp
noauth
nodeflate
nobsdcomp
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.
pppd nodetach /dev/ttyS1
using channel 1
Using interface ppp0
Connect: ppp0 <--> /dev/ttyS1
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xe1a69af4> <pcomp>
<accomp>]
rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0xe1a69af4> <pcomp>
<accomp>]
rcvd [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xc7173459> <pcomp>
<accomp>]
sent [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0xc7173459> <pcomp>
<accomp>]
sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 196.164.32.114>
<ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
rcvd [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 10.51.12.24> <ms-
dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
sent [IPCP ConfRej id=0x1 <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
rcvd [IPCP ConfRej id=0x1 <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
sent [IPCP ConfReq id=0x2 <compress VJ 0f 01> <addr 196.164.32.114>]
rcvd [IPCP ConfReq id=0x2 <compress VJ 0f 01> <addr 10.51.12.24>]
sent [IPCP ConfAck id=0x2 <compress VJ 0f 01> <addr 10.51.12.24>]
rcvd [IPCP ConfAck id=0x2 <compress VJ 0f 01> <addr 196.164.32.114>]
Cannot determine ethernet address for proxy ARP
local IP address 192.168.1.1
remote IP address 192.168.1.2
pppd nodetach /dev/ttyS1
using channel 1
Using interface ppp0
Connect: ppp0 <--> /dev/ttyS1
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x4c2dfc79> <pcomp>
<accomp>]
rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0x4c2dfc79> <pcomp>
<accomp>]
rcvd [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x67f0b1c8> <pcomp>
<accomp>]
sent [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0x67f0b1c8> <pcomp>
<accomp>]
sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 10.51.12.24> <ms-
dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
rcvd [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 196.164.32.114>
<ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0
sent [IPCP ConfRej id=0x1 <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
rcvd [IPCP ConfRej id=0x1 <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
sent [IPCP ConfReq id=0x2 <compress VJ 0f 01> <addr 10.51.12.24>]
rcvd [IPCP ConfReq id=0x2 <compress VJ 0f 01> <addr 196.164.32.114>]
sent [IPCP ConfAck id=0x2 <compress VJ 0f 01> <addr 196.164.32.114>]
rcvd [IPCP ConfAck id=0x2 <compress VJ 0f 01> <addr 10.51.12.24>]
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.
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

Loading...