Setup of Router machine with FreeBSD
nvidican at envieweb.net
nvidican at envieweb.net
Mon Jan 11 15:44:43 UTC 2010
Quoting Paul Shi <shihang at 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="serverinternal"
> routes_serverinternal="'-net 192.168.2.1/24 192.168.2.2"
>
> and following to /etc/rc.conf of router machine
>
> static_routes="internal"
> routes_internal="'-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 at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to "freebsd-questions-unsubscribe at freebsd.org"
>
Paul,
It seems to me your problem is in your route configuration.
"192.168.2.1/24" is incorrect, /24 indicates the bitmask; the network
address should be correctly written as "192.168.2.0/24" instead
indicating a network address of '192.168.2.0' with a network of 254
usable IP addresses in the same subnet.
You'll thus only have to have ONE route entry for the whole network,
not one per IP (unless that is your intention -in which case the
'-net' syntax is incorrectly being used). So long as routing is turned
on (man sysctl), simply pointing the server to the router and the
client to the router to connect to each other should work. Try doing
the commands from the console first to get it all working, then worry
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
internally; you don't need/shouldn't be setting any routes given that
192.168.2.2, and 192.168.1.2 are hosts on the two networks for which
you want to allow routes. They key is in getting the clients to both
use the same gateway, (as accessible from the network they are
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
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
ANY as well
Assuming you're connecting the internet at some point to the gateway
(router) machine, a decent firewall filter and NAT will most likely be
required as well. Read up in the handbook a bit on the subject or feel
free to come back for more info if needed.
Hope this helps.
--
Nathan Vidican
nathan at vidican.com
More information about the freebsd-questions
mailing list