Le 05/09/2011 19:30, Stuart Henderson a icrit :
On 2011-09-05, Mathieu Blanc<mathieu.bl...@smile.fr> wrote:
So the ingoing traffic goes into bsd1, and the servers now use bsd2 to
go out.
Is it not a problem ? In terms of firewalling for example (keep state ?
will bsd2 authorize the trafic which is initiated by bsd1 ? maybe with
the help of pfsync ??)
pfsync(4) can handle this if you use 'defer', see the pfsync manpage,
but this is normally only desirable for load-balancing.
I read the manpage, and it seems to match exactly with what i want to do :
"Where more than one firewall might actively handle packets, e.g. with
certain ospfd(8), bgpd(8) or carp(4) configurations, it is beneficial to
defer transmission of the initial packet of a connection. The pfsync
state insert message is sent immediately; the packet is queued until
either this message is acknowledged by another system, or a timeout has
expired."
This is for load-sharing between 2 firewalls, you don't want it for a
typical setup with 1 active and 1 passive firewall as it delays things
If I take my previous example :
Network A [interconnection with others routers] = 192.168.1.0/24
(configured on em0, and carp0)
presumably you are announcing the networks behind bsd1/bsd2 over
ospf to your other routers; so I don't think carp0 is useful.
Network B [network with servers] = 172.16.1.0/24 (configured on em1, and
carp1, used by servers for default gateway)
em2 is for pfsync.
The ospfd.conf is very simple.
bsd1# ifconfig -A
em0: flags=8b43<UP,BROADCAST,RUNNING,PROMISC,ALLMULTI,SIMPLEX,MULTICAST>
inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.255
em1: flags=8b43<UP,BROADCAST,RUNNING,PROMISC,ALLMULTI,SIMPLEX,MULTICAST>
inet 172.16.1.1 netmask 0xffffff00 broadcast 172.16.1.255
em2: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 172.16.99.1 netmask 0xfffffffc broadcast 172.16.99.3
pfsync0: flags=41<UP,RUNNING> mtu 1500
pfsync: syncdev: em2 syncpeer: 172.16.99.2 maxupd: 128 defer: off
carp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
carp: MASTER carpdev em0 vhid 170 advbase 1 advskew 80
inet 192.168.1.100 netmask 0xffffff00 broadcast 192.168.1.255
carp1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
carp: MASTER carpdev em1 vhid 171 advbase 1 advskew 120
inet 172.16.1.100 netmask 0xffffff00 broadcast 172.16.1.255
bsd1# cat /etc/ospfd.conf
area 0.0.0.0 {
interface em0
interface em1
interface carp0 { passive }
interface carp1 { passive }
}
I would:-
remove "interface carp0 { passive }" from ospfd.conf
remove "interface em1" from ospfd.conf
ospfctl reload
ifconfig carp0 destroy
rm /etc/hostname.carp0
Wow !
It works like a charm ;)
I now have just *one* route to Network B on my routers (routers in
Network A) : the IP of bsd1 (192.168.1.1 in my example), which is
currently master.
If I do a carp demote on bsd1, the route change to bsd2 (192.168.1.1).
So there is no problem like I mentionned last time (ingoing traffic goes
to bsd1 and outgoing traffic by bsd2).
Thank you very much for your help ! It's exactly what I tried to do :)
Mathieu