summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkeramida <keramida@FreeBSD.org>2007-04-10 16:42:14 +0000
committerkeramida <keramida@FreeBSD.org>2007-04-10 16:42:14 +0000
commit9de00d802e8f251b8cc85316e0b13c89ca7b283b (patch)
tree661a7cc9dd4e0dd6ed1d68988851413c696de539
parent922d6e13fa2f0f3f7fdb5aa9e7c14de9aa802970 (diff)
downloadFreeBSD-src-9de00d802e8f251b8cc85316e0b13c89ca7b283b.zip
FreeBSD-src-9de00d802e8f251b8cc85316e0b13c89ca7b283b.tar.gz
Add a pfsync_syncpeer option to /etc/defaults/rc.conf and rc.conf(5),
which can be used to turn off multicast pfsync support, and enable the transmission of directed PFSYNC (IP protocol: 240) packets to a specific "sync peer" host. PR: conf/111225 Submitted by: Bas van Beek <bas@tobin.nl> Approved by: mtm, mlaier MFC after: 2 weeks
-rw-r--r--etc/defaults/rc.conf1
-rw-r--r--etc/rc.d/pfsync7
-rw-r--r--share/man/man5/rc.conf.520
3 files changed, 27 insertions, 1 deletions
diff --git a/etc/defaults/rc.conf b/etc/defaults/rc.conf
index af35675..e2aa99b 100644
--- a/etc/defaults/rc.conf
+++ b/etc/defaults/rc.conf
@@ -156,6 +156,7 @@ pflog_program="/sbin/pflogd" # where the pflogd program lives
pflog_flags="" # additional flags for pflogd
pfsync_enable="NO" # Expose pf state to other hosts for syncing
pfsync_syncdev="" # Interface for pfsync to work through
+pfsync_syncpeer="" # IP address of pfsync peer host
pfsync_ifconfig="" # Additional options to ifconfig(8) for pfsync
tcp_extensions="YES" # Set to NO to turn off RFC1323 extensions.
log_in_vain="0" # >=1 to log connects to ports w/o listeners.
diff --git a/etc/rc.d/pfsync b/etc/rc.d/pfsync
index 72a22b5..8be8928 100644
--- a/etc/rc.d/pfsync
+++ b/etc/rc.d/pfsync
@@ -36,8 +36,13 @@ pfsync_prestart()
pfsync_start()
{
+ local _syncpeer
+
echo "Enabling pfsync."
- ifconfig pfsync0 syncdev $pfsync_syncdev $pfsync_ifconfig up
+ if [ -n "${pfsync_syncpeer}" ]; then
+ _syncpeer="syncpeer ${pfsync_syncpeer}"
+ fi
+ ifconfig pfsync0 $_syncpeer syncdev $pfsync_syncdev $pfsync_ifconfig up
}
pfsync_stop()
diff --git a/share/man/man5/rc.conf.5 b/share/man/man5/rc.conf.5
index 3caf681..bd80de0 100644
--- a/share/man/man5/rc.conf.5
+++ b/share/man/man5/rc.conf.5
@@ -855,6 +855,26 @@ It must be set accordingly if
.Va pfsync_enable
is set to
.Dq Li YES .
+.It Va pfsync_syncpeer
+.Pq Vt str
+Empty by default.
+This variable is optional.
+By default, state change messages are sent out on the synchronisation
+interface using IP multicast packets.
+The protocol is IP protocol 240, PFSYNC, and the multicast group used is
+224.0.0.240.
+When a peer address is specified using the
+.Va pfsync_syncpeer
+option, the peer address is used as a destination for the pfsync
+traffic, and the traffic can then be protected using
+.Xr ipsec 4 .
+See the
+.Xr pfsync 4
+manpage for more details about using
+.Xr ipsec 4
+with
+.Xr pfsync 4
+interfaces.
.It Va pfsync_ifconfig
.Pq Vt str
Empty by default.
OpenPOWER on IntegriCloud