Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 11 Jan 2010 10:44:40 -0500
From:      nvidican@envieweb.net
To:        Paul Shi <shihang@hkusua.hku.hk>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: Setup of Router machine with FreeBSD
Message-ID:  <20100111104440.2vc6xxvc0k8oc80g@www.envieweb.net>
In-Reply-To: <ea6713a21001110710i6d347f84wdc0b55d29dcb510c@mail.gmail.com>
References:  <ea6713a21001110710i6d347f84wdc0b55d29dcb510c@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Quoting Paul Shi <shihang@hkusua.hku.hk>:

> Dear All,
>
> I have tried to setup a wireless network consist of a server, AP, a router
> machine and wireless client. Here is setup and configuration of my design.
> Please correct me if I am wrong about anything.
>
> Server
> IP: 192.168.2.1, Gateway: 192.168.2.2, Netmask: 255.255.255.0
> --------------------------------------------------------------------------=
-------------------
> IP: 192.168.2.2,                                   Netmask: 255.255.255.0
> Router
> IP: 192.168.1.1,                                   Netmask: 255.255.255.0
> --------------------------------------------------------------------------=
-------------------
> IP:192.168.1.2, Gateway: 192.168.1.1, Netmask: 255.255.255.0
> Access Point
> --------------------------------------------------------------------------=
-------------------
> IP: 192.168.1.3,                                  Netmask: 255.255.255.0
> Client
>
> I have add following to /etc/rc.conf of server machine
>
> static_routes=3D"serverinternal"
> routes_serverinternal=3D"'-net 192.168.2.1/24 192.168.2.2"
>
> and following to /etc/rc.conf of router machine
>
> static_routes=3D"internal"
> routes_internal=3D"'-net 192.168.2.2/24 192.168.1.1"
>
> Is there anything I have done wrong? Or anything else I need to do. My
> problem now is I cannot connect from server to router machine. Any
> suggestion would be greatly appreciated!
>
> Your sincerely,
> Paul Shi
> Electronic and Communication Engineering Senior
> Department of Electrical and Electronic Engineering
> University of Hong Kong
> _______________________________________________
> freebsd-questions@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to "freebsd-questions-unsubscribe@freebsd.or=
g"
>

Paul,

It seems to me your problem is in your route configuration. =20
"192.168.2.1/24" is incorrect, /24 indicates the bitmask; the network =20
address should be correctly written as "192.168.2.0/24" instead =20
indicating a network address of '192.168.2.0' with a network of 254 =20
usable IP addresses in the same subnet.

You'll thus only have to have ONE route entry for the whole network, =20
not one per IP (unless that is your intention -in which case the =20
'-net' syntax is incorrectly being used). So long as routing is turned =20
on (man sysctl), simply pointing the server to the router and the =20
client to the router to connect to each other should work. Try doing =20
the commands from the console first to get it all working, then worry =20
about putting in the startup configs on boot-up.

Given your example, I'd login to 'server' and run:

route add 192.168.1.0/24 192.168.2.2
(if the router is the ONLY router from the server, use this instead):
route add 0.0.0.0 192.168.2.2

Then, from the client, add:
route add 192.168.2.0/24 192.168.1.1

The gateway/router box itself does not need any routing setup =20
internally; you don't need/shouldn't be setting any routes given that =20
192.168.2.2, and 192.168.1.2 are hosts on the two networks for which =20
you want to allow routes. They key is in getting the clients to both =20
use the same gateway, (as accessible from the network they are =20
respectfully on). This may be a little more clearly depicted below:

Host A (192.168.2.1) <--> Router (192.168.2.2) (192.168.1.1) <--> Host =20
B (192.168.1.3)

Host A:
   - needs to know to use '192.168.2.2' as it's gateway to 192.168.1.0/24
   - may just use 192.168.2.2 as it's default gateway to ANY network

Host B:
   - needs to know to use '192.168.1.1' as it's gateway to 192.168.2.0/24
   - similarly, may just use '192.168.1.1' as it's default gateway to =20
ANY as well

Assuming you're connecting the internet at some point to the gateway =20
(router) machine, a decent firewall filter and NAT will most likely be =20
required as well. Read up in the handbook a bit on the subject or feel =20
free to come back for more info if needed.

Hope this helps.

--
Nathan Vidican
nathan@vidican.com




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100111104440.2vc6xxvc0k8oc80g>