RHEL 9.0.0 Alpha bootstrap
The content of this branch was automatically imported from Fedora ELN with the following as its source: https://src.fedoraproject.org/rpms/conntrack-tools#96cbd06f4de157b82890465ca967e1aac3f43429
This commit is contained in:
parent
4c45ee1582
commit
e4e400db50
9
.gitignore
vendored
9
.gitignore
vendored
@ -0,0 +1,9 @@
|
|||||||
|
conntrack-tools-0.9.14.tar.bz2
|
||||||
|
/conntrack-tools-0.9.15.tar.bz2
|
||||||
|
/conntrack-tools-1.0.0.tar.bz2
|
||||||
|
/conntrack-tools-1.0.1.tar.bz2
|
||||||
|
/conntrack-tools-1.4.0.tar.bz2
|
||||||
|
/conntrack-tools-1.4.2.tar.bz2
|
||||||
|
/conntrack-tools-1.4.3.tar.bz2
|
||||||
|
/conntrack-tools-1.4.4.tar.bz2
|
||||||
|
/conntrack-tools-1.4.5.tar.bz2
|
29
conntrack-tools-1.4.4-free-pktb-after-use.patch
Normal file
29
conntrack-tools-1.4.4-free-pktb-after-use.patch
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
From 832166dc4780e259424ebab07b42ecf42cde6fe3 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Kevin Cernekee <cernekee@chromium.org>
|
||||||
|
Date: Fri, 27 Jan 2017 12:38:46 -0800
|
||||||
|
Subject: conntrackd: cthelper: Free pktb after use
|
||||||
|
|
||||||
|
According to valgrind, this currently leaks ~512B to 2kB for each
|
||||||
|
packet sent to the userspace helper.
|
||||||
|
|
||||||
|
Signed-off-by: Kevin Cernekee <cernekee@chromium.org>
|
||||||
|
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
||||||
|
---
|
||||||
|
src/cthelper.c | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
diff --git a/src/cthelper.c b/src/cthelper.c
|
||||||
|
index 54eb830..f01c509 100644
|
||||||
|
--- a/src/cthelper.c
|
||||||
|
+++ b/src/cthelper.c
|
||||||
|
@@ -325,6 +325,7 @@ static int nfq_queue_cb(const struct nlmsghdr *nlh, void *data)
|
||||||
|
if (pkt_verdict_issue(helper, myct, queue_num, id, verdict, pktb) < 0)
|
||||||
|
goto err4;
|
||||||
|
|
||||||
|
+ pktb_free(pktb);
|
||||||
|
nfct_destroy(ct);
|
||||||
|
if (myct->exp != NULL)
|
||||||
|
nfexp_destroy(myct->exp);
|
||||||
|
--
|
||||||
|
cgit v0.12
|
||||||
|
|
57
conntrack-tools-1.4.4-nat_tuple-leak.patch
Normal file
57
conntrack-tools-1.4.4-nat_tuple-leak.patch
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
From 1ba5e76a368aeb9fe17d3b691df4faa0dadc4523 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Kevin Cernekee <cernekee@chromium.org>
|
||||||
|
Date: Thu, 26 Jan 2017 16:44:24 -0800
|
||||||
|
Subject: conntrackd: cthelper: Don't leak nat_tuple
|
||||||
|
|
||||||
|
nfexp_set_attr() copies |nat_tuple| rather than taking ownership, so
|
||||||
|
it should be freed at the end of the loop. Some of the other helpers
|
||||||
|
(like rpc.c) do this, but it is missing here.
|
||||||
|
|
||||||
|
Reported-by: Eric Caruso <ejcaruso@chromium.org>
|
||||||
|
Signed-off-by: Kevin Cernekee <cernekee@chromium.org>
|
||||||
|
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
||||||
|
---
|
||||||
|
src/helpers/amanda.c | 1 +
|
||||||
|
src/helpers/ftp.c | 1 +
|
||||||
|
src/helpers/tftp.c | 1 +
|
||||||
|
3 files changed, 3 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/helpers/amanda.c b/src/helpers/amanda.c
|
||||||
|
index 9e6c4e7..faee1cd 100644
|
||||||
|
--- a/src/helpers/amanda.c
|
||||||
|
+++ b/src/helpers/amanda.c
|
||||||
|
@@ -75,6 +75,7 @@ static int nat_amanda(struct pkt_buff *pkt, uint32_t ctinfo,
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
+ nfct_destroy(nat_tuple);
|
||||||
|
|
||||||
|
if (port == 0) {
|
||||||
|
pr_debug("all ports in use\n");
|
||||||
|
diff --git a/src/helpers/ftp.c b/src/helpers/ftp.c
|
||||||
|
index 27ab5eb..c3aa284 100644
|
||||||
|
--- a/src/helpers/ftp.c
|
||||||
|
+++ b/src/helpers/ftp.c
|
||||||
|
@@ -423,6 +423,7 @@ static unsigned int nf_nat_ftp(struct pkt_buff *pkt,
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
+ nfct_destroy(nat_tuple);
|
||||||
|
|
||||||
|
if (port == 0)
|
||||||
|
return NF_DROP;
|
||||||
|
diff --git a/src/helpers/tftp.c b/src/helpers/tftp.c
|
||||||
|
index 45591c6..70dd28a 100644
|
||||||
|
--- a/src/helpers/tftp.c
|
||||||
|
+++ b/src/helpers/tftp.c
|
||||||
|
@@ -65,6 +65,7 @@ static unsigned int nat_tftp(struct pkt_buff *pkt, uint32_t ctinfo,
|
||||||
|
nfexp_set_attr_u32(exp, ATTR_EXP_NAT_DIR, MYCT_DIR_REPL);
|
||||||
|
nfexp_set_attr(exp, ATTR_EXP_FN, "nat-follow-master");
|
||||||
|
nfexp_set_attr(exp, ATTR_EXP_NAT_TUPLE, nat_tuple);
|
||||||
|
+ nfct_destroy(nat_tuple);
|
||||||
|
|
||||||
|
return NF_ACCEPT;
|
||||||
|
}
|
||||||
|
--
|
||||||
|
cgit v0.12
|
||||||
|
|
3718
conntrack-tools-20150818.patch
Normal file
3718
conntrack-tools-20150818.patch
Normal file
File diff suppressed because it is too large
Load Diff
217
conntrack-tools-coverity20150818.patch
Normal file
217
conntrack-tools-coverity20150818.patch
Normal file
@ -0,0 +1,217 @@
|
|||||||
|
diff --git a/src/cache.c b/src/cache.c
|
||||||
|
index 7c41e54..79a024f 100644
|
||||||
|
--- a/src/cache.c
|
||||||
|
+++ b/src/cache.c
|
||||||
|
@@ -34,7 +34,7 @@ struct cache_feature *cache_feature[CACHE_MAX_FEATURE] = {
|
||||||
|
};
|
||||||
|
|
||||||
|
struct cache *cache_create(const char *name, enum cache_type type,
|
||||||
|
- unsigned int features,
|
||||||
|
+ unsigned int features,
|
||||||
|
struct cache_extra *extra,
|
||||||
|
struct cache_ops *ops)
|
||||||
|
{
|
||||||
|
@@ -53,7 +53,8 @@ struct cache *cache_create(const char *name, enum cache_type type,
|
||||||
|
return NULL;
|
||||||
|
memset(c, 0, sizeof(struct cache));
|
||||||
|
|
||||||
|
- strcpy(c->name, name);
|
||||||
|
+ strncpy(c->name, name, CACHE_MAX_NAMELEN);
|
||||||
|
+ c->name[CACHE_MAX_NAMELEN - 1] = '\0';
|
||||||
|
c->type = type;
|
||||||
|
|
||||||
|
for (i = 0; i < CACHE_MAX_FEATURE; i++) {
|
||||||
|
diff --git a/src/cthelper.c b/src/cthelper.c
|
||||||
|
index 6537515..54eb830 100644
|
||||||
|
--- a/src/cthelper.c
|
||||||
|
+++ b/src/cthelper.c
|
||||||
|
@@ -277,11 +277,11 @@ static int nfq_queue_cb(const struct nlmsghdr *nlh, void *data)
|
||||||
|
|
||||||
|
if (!attr[NFQA_PAYLOAD]) {
|
||||||
|
dlog(LOG_ERR, "packet with no payload");
|
||||||
|
- goto err;
|
||||||
|
+ goto err1;
|
||||||
|
}
|
||||||
|
if (!attr[NFQA_CT] || !attr[NFQA_CT_INFO]) {
|
||||||
|
dlog(LOG_ERR, "no CT attached to this packet");
|
||||||
|
- goto err;
|
||||||
|
+ goto err1;
|
||||||
|
}
|
||||||
|
|
||||||
|
pkt = mnl_attr_get_payload(attr[NFQA_PAYLOAD]);
|
||||||
|
@@ -292,22 +292,22 @@ static int nfq_queue_cb(const struct nlmsghdr *nlh, void *data)
|
||||||
|
queue_num = ntohs(nfg->res_id);
|
||||||
|
|
||||||
|
if (pkt_get(pkt, pktlen, ntohs(ph->hw_protocol), &protoff))
|
||||||
|
- goto err;
|
||||||
|
+ goto err1;
|
||||||
|
|
||||||
|
ct = nfct_new();
|
||||||
|
if (ct == NULL)
|
||||||
|
- goto err;
|
||||||
|
+ goto err1;
|
||||||
|
|
||||||
|
if (nfct_payload_parse(mnl_attr_get_payload(attr[NFQA_CT]),
|
||||||
|
mnl_attr_get_payload_len(attr[NFQA_CT]),
|
||||||
|
l3num, ct) < 0) {
|
||||||
|
dlog(LOG_ERR, "cannot convert message to CT");
|
||||||
|
- goto err;
|
||||||
|
+ goto err2;
|
||||||
|
}
|
||||||
|
|
||||||
|
myct = calloc(1, sizeof(struct myct));
|
||||||
|
if (myct == NULL)
|
||||||
|
- goto err;
|
||||||
|
+ goto err2;
|
||||||
|
|
||||||
|
myct->ct = ct;
|
||||||
|
ctinfo = ntohl(mnl_attr_get_u32(attr[NFQA_CT_INFO]));
|
||||||
|
@@ -315,15 +315,15 @@ static int nfq_queue_cb(const struct nlmsghdr *nlh, void *data)
|
||||||
|
/* XXX: 256 bytes enough for possible NAT mangling in helpers? */
|
||||||
|
pktb = pktb_alloc(AF_INET, pkt, pktlen, 256);
|
||||||
|
if (pktb == NULL)
|
||||||
|
- goto err;
|
||||||
|
+ goto err3;
|
||||||
|
|
||||||
|
/* Misconfiguration: if no helper found, accept the packet. */
|
||||||
|
helper = helper_run(pktb, protoff, myct, ctinfo, queue_num, &verdict);
|
||||||
|
if (!helper)
|
||||||
|
- goto err_pktb;
|
||||||
|
+ goto err4;
|
||||||
|
|
||||||
|
if (pkt_verdict_issue(helper, myct, queue_num, id, verdict, pktb) < 0)
|
||||||
|
- goto err_pktb;
|
||||||
|
+ goto err4;
|
||||||
|
|
||||||
|
nfct_destroy(ct);
|
||||||
|
if (myct->exp != NULL)
|
||||||
|
@@ -333,18 +333,19 @@ static int nfq_queue_cb(const struct nlmsghdr *nlh, void *data)
|
||||||
|
free(myct);
|
||||||
|
|
||||||
|
return MNL_CB_OK;
|
||||||
|
-err_pktb:
|
||||||
|
+err4:
|
||||||
|
pktb_free(pktb);
|
||||||
|
-err:
|
||||||
|
+err3:
|
||||||
|
+ free(myct);
|
||||||
|
+err2:
|
||||||
|
+ nfct_destroy(ct);
|
||||||
|
+err1:
|
||||||
|
/* In case of error, we don't want to disrupt traffic. We accept all.
|
||||||
|
* This is connection tracking after all. The policy is not to drop
|
||||||
|
* packet unless we enter some inconsistent state.
|
||||||
|
*/
|
||||||
|
pkt_verdict_error(queue_num, id);
|
||||||
|
|
||||||
|
- if (ct != NULL)
|
||||||
|
- nfct_destroy(ct);
|
||||||
|
-
|
||||||
|
return MNL_CB_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/src/local.c b/src/local.c
|
||||||
|
index 453799a..3395b4c 100644
|
||||||
|
--- a/src/local.c
|
||||||
|
+++ b/src/local.c
|
||||||
|
@@ -77,7 +77,7 @@ int do_local_server_step(struct local_server *server, void *data,
|
||||||
|
int rfd;
|
||||||
|
struct sockaddr_un local;
|
||||||
|
socklen_t sin_size = sizeof(struct sockaddr_un);
|
||||||
|
-
|
||||||
|
+
|
||||||
|
rfd = accept(server->fd, (struct sockaddr *) &local, &sin_size);
|
||||||
|
if (rfd == -1)
|
||||||
|
return -1;
|
||||||
|
@@ -147,11 +147,14 @@ int do_local_request(int request,
|
||||||
|
|
||||||
|
ret = send(fd, &request, sizeof(int), 0);
|
||||||
|
if (ret == -1)
|
||||||
|
- return -1;
|
||||||
|
+ goto err1;
|
||||||
|
|
||||||
|
do_local_client_step(fd, step);
|
||||||
|
|
||||||
|
local_client_destroy(fd);
|
||||||
|
-
|
||||||
|
+
|
||||||
|
return 0;
|
||||||
|
+err1:
|
||||||
|
+ local_client_destroy(fd);
|
||||||
|
+ return -1;
|
||||||
|
}
|
||||||
|
diff --git a/src/parse.c b/src/parse.c
|
||||||
|
index f3ec6ac..919d36c 100644
|
||||||
|
--- a/src/parse.c
|
||||||
|
+++ b/src/parse.c
|
||||||
|
@@ -297,7 +297,7 @@ int msg2ct(struct nf_conntrack *ct, struct nethdr *net, size_t remain)
|
||||||
|
return -1;
|
||||||
|
if (attr->nta_len < NTA_LENGTH(0))
|
||||||
|
return -1;
|
||||||
|
- if (attr->nta_attr > NTA_MAX)
|
||||||
|
+ if (attr->nta_attr >= NTA_MAX)
|
||||||
|
return -1;
|
||||||
|
if (h[attr->nta_attr].size &&
|
||||||
|
attr->nta_len != h[attr->nta_attr].size)
|
||||||
|
@@ -510,7 +510,7 @@ int msg2exp(struct nf_expect *exp, struct nethdr *net, size_t remain)
|
||||||
|
ATTR_NETWORK2HOST(attr);
|
||||||
|
if (attr->nta_len > len)
|
||||||
|
goto err;
|
||||||
|
- if (attr->nta_attr > NTA_MAX)
|
||||||
|
+ if (attr->nta_attr >= NTA_EXP_MAX)
|
||||||
|
goto err;
|
||||||
|
if (attr->nta_len < NTA_LENGTH(0))
|
||||||
|
goto err;
|
||||||
|
@@ -524,13 +524,15 @@ int msg2exp(struct nf_expect *exp, struct nethdr *net, size_t remain)
|
||||||
|
attr = NTA_NEXT(attr, len);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
- switch(exp_h[attr->nta_attr].exp_attr) {
|
||||||
|
+ switch (exp_h[attr->nta_attr].exp_attr) {
|
||||||
|
case ATTR_EXP_MASTER:
|
||||||
|
exp_h[attr->nta_attr].parse(master, attr->nta_attr,
|
||||||
|
NTA_DATA(attr));
|
||||||
|
+ break;
|
||||||
|
case ATTR_EXP_EXPECTED:
|
||||||
|
exp_h[attr->nta_attr].parse(expected, attr->nta_attr,
|
||||||
|
NTA_DATA(attr));
|
||||||
|
+ break;
|
||||||
|
case ATTR_EXP_MASK:
|
||||||
|
exp_h[attr->nta_attr].parse(mask, attr->nta_attr,
|
||||||
|
NTA_DATA(attr));
|
||||||
|
diff --git a/src/process.c b/src/process.c
|
||||||
|
index 7f0a395..3ddad5f 100644
|
||||||
|
--- a/src/process.c
|
||||||
|
+++ b/src/process.c
|
||||||
|
@@ -48,6 +48,8 @@ int fork_process_new(int type, int flags, void (*cb)(void *data), void *data)
|
||||||
|
|
||||||
|
if (c->pid > 0)
|
||||||
|
list_add(&c->head, &process_list);
|
||||||
|
+ else
|
||||||
|
+ free(c);
|
||||||
|
|
||||||
|
return pid;
|
||||||
|
}
|
||||||
|
diff --git a/src/tcp.c b/src/tcp.c
|
||||||
|
index af27c46..e570880 100644
|
||||||
|
--- a/src/tcp.c
|
||||||
|
+++ b/src/tcp.c
|
||||||
|
@@ -247,13 +247,11 @@ int tcp_accept(struct tcp_sock *m)
|
||||||
|
/* the other peer wants to connect ... */
|
||||||
|
ret = accept(m->fd, NULL, NULL);
|
||||||
|
if (ret == -1) {
|
||||||
|
- if (errno != EAGAIN) {
|
||||||
|
- /* unexpected error. Give us another try. */
|
||||||
|
- m->state = TCP_SERVER_ACCEPTING;
|
||||||
|
- } else {
|
||||||
|
- /* waiting for new connections. */
|
||||||
|
- m->state = TCP_SERVER_ACCEPTING;
|
||||||
|
- }
|
||||||
|
+ /* unexpected error: Give us another try. Or we have hit
|
||||||
|
+ * -EAGAIN, in that case we remain in the accepting connections
|
||||||
|
+ * state.
|
||||||
|
+ */
|
||||||
|
+ m->state = TCP_SERVER_ACCEPTING;
|
||||||
|
} else {
|
||||||
|
/* the peer finally got connected. */
|
||||||
|
if (fcntl(ret, F_SETFL, O_NONBLOCK) == -1) {
|
267
conntrack-tools.spec
Normal file
267
conntrack-tools.spec
Normal file
@ -0,0 +1,267 @@
|
|||||||
|
%undefine _hardened_build
|
||||||
|
Name: conntrack-tools
|
||||||
|
Version: 1.4.5
|
||||||
|
Release: 6%{?dist}
|
||||||
|
Summary: Manipulate netfilter connection tracking table and run High Availability
|
||||||
|
License: GPLv2
|
||||||
|
URL: http://conntrack-tools.netfilter.org/
|
||||||
|
Source0: http://netfilter.org/projects/%{name}/files/%{name}-%{version}.tar.bz2
|
||||||
|
Source1: conntrackd.service
|
||||||
|
Source2: conntrackd.conf
|
||||||
|
|
||||||
|
BuildRequires: gcc
|
||||||
|
BuildRequires: libnfnetlink-devel >= 1.0.1, libnetfilter_conntrack-devel >= 1.0.7
|
||||||
|
BuildRequires: libnetfilter_cttimeout-devel >= 1.0.0, libnetfilter_cthelper-devel >= 1.0.0
|
||||||
|
BuildRequires: libmnl-devel >= 1.0.3, libnetfilter_queue-devel >= 1.0.2
|
||||||
|
BuildRequires: libtirpc-devel systemd-devel
|
||||||
|
BuildRequires: pkgconfig bison flex
|
||||||
|
Provides: conntrack = 1.0-1
|
||||||
|
Obsoletes: conntrack < 1.0-1
|
||||||
|
Requires(post): systemd
|
||||||
|
Requires(preun): systemd
|
||||||
|
Requires(postun): systemd
|
||||||
|
BuildRequires: systemd
|
||||||
|
|
||||||
|
%description
|
||||||
|
With conntrack-tools you can setup a High Availability cluster and
|
||||||
|
synchronize conntrack state between multiple firewalls.
|
||||||
|
|
||||||
|
The conntrack-tools package contains two programs:
|
||||||
|
- conntrack: the command line interface to interact with the connection
|
||||||
|
tracking system.
|
||||||
|
- conntrackd: the connection tracking userspace daemon that can be used to
|
||||||
|
deploy highly available GNU/Linux firewalls and collect
|
||||||
|
statistics of the firewall use.
|
||||||
|
|
||||||
|
conntrack is used to search, list, inspect and maintain the netfilter
|
||||||
|
connection tracking subsystem of the Linux kernel.
|
||||||
|
Using conntrack, you can dump a list of all (or a filtered selection of)
|
||||||
|
currently tracked connections, delete connections from the state table,
|
||||||
|
and even add new ones.
|
||||||
|
In addition, you can also monitor connection tracking events, e.g.
|
||||||
|
show an event message (one line) per newly established connection.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -q
|
||||||
|
|
||||||
|
%build
|
||||||
|
%configure --disable-static --enable-systemd
|
||||||
|
sed -i "s/DEFAULT_INCLUDES = -I./DEFAULT_INCLUDES = -I. -I\/usr\/include\/tirpc/" src/helpers/Makefile
|
||||||
|
CFLAGS="${CFLAGS} -Wl,-z,lazy"
|
||||||
|
CXXFLAGS="${CXXFLAGS} -Wl,-z,lazy"
|
||||||
|
%make_build
|
||||||
|
chmod 644 doc/sync/primary-backup.sh
|
||||||
|
rm -f doc/sync/notrack/conntrackd.conf.orig doc/sync/alarm/conntrackd.conf.orig doc/helper/conntrackd.conf.orig
|
||||||
|
|
||||||
|
%install
|
||||||
|
%make_install
|
||||||
|
find %{buildroot} -type f -name "*.la" -exec rm -f {} ';'
|
||||||
|
mkdir -p %{buildroot}%{_sysconfdir}/conntrackd
|
||||||
|
install -d -m 0755 %{buildroot}%{_unitdir}
|
||||||
|
install -m 0644 %{SOURCE1} %{buildroot}%{_unitdir}/
|
||||||
|
install -m 0644 %{SOURCE2} %{buildroot}%{_sysconfdir}/conntrackd/
|
||||||
|
|
||||||
|
%files
|
||||||
|
%license COPYING
|
||||||
|
%doc AUTHORS TODO doc
|
||||||
|
%dir %{_sysconfdir}/conntrackd
|
||||||
|
%config(noreplace) %{_sysconfdir}/conntrackd/conntrackd.conf
|
||||||
|
%{_unitdir}/conntrackd.service
|
||||||
|
%{_sbindir}/conntrack
|
||||||
|
%{_sbindir}/conntrackd
|
||||||
|
%{_sbindir}/nfct
|
||||||
|
%{_mandir}/man5/*
|
||||||
|
%{_mandir}/man8/*
|
||||||
|
%dir %{_libdir}/conntrack-tools
|
||||||
|
%{_libdir}/conntrack-tools/*
|
||||||
|
|
||||||
|
%post
|
||||||
|
%systemd_post conntrackd.service
|
||||||
|
|
||||||
|
%preun
|
||||||
|
%systemd_preun conntrackd.service
|
||||||
|
|
||||||
|
%postun
|
||||||
|
%systemd_postun conntrackd.service
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.5-6
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.5-5
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.5-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.5-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Dec 14 2018 Paul Wouters <pwouters@redhat.com> - 1.4.5-2
|
||||||
|
- Disable hardened build to really fix rhbz#1413408
|
||||||
|
|
||||||
|
* Mon Dec 10 2018 Paul Wouters <pwouters@redhat.com> - 1.4.5-1
|
||||||
|
- Resolves: rhbz#1574091 conntrack-tools-1.4.5 is available
|
||||||
|
- Resolves: rhbz#1413408 ct_helper_ftp not working
|
||||||
|
(I've reduced the hardening to use -z,lazy)
|
||||||
|
- Eanbled systemd support
|
||||||
|
- Bumped required libnetfilter_conntrack-devel to 1.0.7
|
||||||
|
- fixup harmless but broken mkdir in spec file
|
||||||
|
- Don't override CPPFLAGS and LIBS, instead fixup src/helpers/Makefile
|
||||||
|
|
||||||
|
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.4-8
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Apr 12 2018 Orion Poplawski <orion@nwra.com> - 1.4.4-7
|
||||||
|
- Use libtirpc
|
||||||
|
- Use %%license
|
||||||
|
|
||||||
|
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.4-6
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.4-5
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.4-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Feb 22 2017 Paul Wouters <pwouters@redhat.com> - 1.4.4-3
|
||||||
|
- Add upstream patches (free pktb after use, nat_tuple leak)
|
||||||
|
|
||||||
|
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.4-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Sep 22 2016 Paul Wouters <pwouters@redhat.com> - 1.4.4-1
|
||||||
|
- Updated to 1.4.4 (rhbz#1370668)
|
||||||
|
- Include new man5 pages
|
||||||
|
|
||||||
|
* Wed Apr 20 2016 Paul Wouters <pwouters@redhat.com> - 1.4.3-1
|
||||||
|
- Resolves: rhbz#1261220 1.4.3 is available
|
||||||
|
- Update source url
|
||||||
|
- Remove incorporated patches
|
||||||
|
|
||||||
|
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.2-11
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Aug 21 2015 Paul Wouters <pwouters@redhat.com> - 1.4.2-10
|
||||||
|
- Resolves: 1255578 - conntrackd could neither be started nor be stopped
|
||||||
|
|
||||||
|
* Tue Aug 18 2015 Paul Wouters <pwouters@redhat.com> - 1.4.2-9
|
||||||
|
- Resolves: rhbz#CVE-2015-6496, rhbz#1253757
|
||||||
|
- Fold in upstream patches since 1.4.2 release up to git 900d7e8
|
||||||
|
- Fold in upstream patch set of 2015-08-18 for coverity issues
|
||||||
|
|
||||||
|
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.2-8
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Jan 12 2015 Paul Komkoff <i@stingr.net> - 1.4.2-7
|
||||||
|
- bz#1181119 - wait for network to be on before starting conntrackd
|
||||||
|
|
||||||
|
* Sun Jan 11 2015 Paul Komkoff <i@stingr.net> - 1.4.2-6
|
||||||
|
- bz#998105 - remove patch residues from doc
|
||||||
|
|
||||||
|
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.2-5
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.2-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sat Dec 21 2013 Paul Komkoff <i@stingr.net> - 1.4.2-3
|
||||||
|
- rebuilt
|
||||||
|
|
||||||
|
* Sat Sep 7 2013 Paul P. Komkoff Jr <i@stingr.net> - 1.4.2-2
|
||||||
|
- bz#850067
|
||||||
|
|
||||||
|
* Sat Sep 7 2013 Paul P. Komkoff Jr <i@stingr.net> - 1.4.2-1
|
||||||
|
- new upstream version
|
||||||
|
|
||||||
|
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.0-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Feb 08 2013 Paul Komkoff <i@stingr.net> - 1.4.0-2
|
||||||
|
- fix bz#909128
|
||||||
|
|
||||||
|
* Mon Nov 26 2012 Paul P. Komkoff Jr <i@stingr.net> - 1.4.0-1
|
||||||
|
- new upstream version
|
||||||
|
|
||||||
|
* Tue Jul 24 2012 Paul P. Komkoff Jr <i@stingr.net> - 1.2.1
|
||||||
|
- new upstream version
|
||||||
|
|
||||||
|
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.1-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon May 07 2012 Paul Wouters <pwouters@redhat.com> - 1.0.1-1
|
||||||
|
- Updated to 1.0.1
|
||||||
|
- Added daemon using systemd and configuration file
|
||||||
|
- Removed legacy spec requirements
|
||||||
|
- Patch for: parse.c:240:34: error: 'NULL' undeclared
|
||||||
|
|
||||||
|
* Thu Jan 12 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.0-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu May 5 2011 Paul P. Komkoff Jr <i@stingr.net> - 1.0.0
|
||||||
|
- new upstream version
|
||||||
|
|
||||||
|
* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.15-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Nov 19 2010 Paul P. Komkoff Jr <i@stingr.net> - 0.9.15-1
|
||||||
|
- new upstream version
|
||||||
|
|
||||||
|
* Thu Mar 25 2010 Paul P. Komkoff Jr <i@stingr.net> - 0.9.14-1
|
||||||
|
- update, at last
|
||||||
|
|
||||||
|
* Tue Nov 10 2009 Paul P. Komkoff Jr <i@stingr.net> - 0.9.13-2
|
||||||
|
- failed to properly commit the package :(
|
||||||
|
|
||||||
|
* Tue Oct 13 2009 Paul P. Komkoff Jr <i@stingr.net> - 0.9.13-1
|
||||||
|
- new upstream version
|
||||||
|
|
||||||
|
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.12-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sun May 24 2009 Paul P. Komkoff Jr <i@stingr.net> - 0.9.12-3
|
||||||
|
- new upstream version
|
||||||
|
|
||||||
|
* Sun May 24 2009 Paul P. Komkoff Jr <i@stingr.net> - 0.9.12-2
|
||||||
|
- versioning screwup
|
||||||
|
|
||||||
|
* Sun May 24 2009 Paul P. Komkoff Jr <i@stingr.net> - 0.9.12-1
|
||||||
|
- new upstream version
|
||||||
|
|
||||||
|
* Tue Feb 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.9-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Jan 13 2009 Paul P. Komkoff Jr <i@stingr.net> - 0.9.9-1
|
||||||
|
- new upstream version
|
||||||
|
|
||||||
|
* Sun Oct 26 2008 Paul P. Komkoff Jr <i@stingr.net> - 0.9.8-1
|
||||||
|
- new upstream version
|
||||||
|
- remove rollup patch
|
||||||
|
|
||||||
|
* Wed Jul 16 2008 Paul P. Komkoff Jr <i@stingr.net> - 0.9.7-2
|
||||||
|
- fix Patch0/%%patch.
|
||||||
|
|
||||||
|
* Wed Jul 16 2008 Paul P. Komkoff Jr <i@stingr.net> - 0.9.7-1
|
||||||
|
- new upstream version
|
||||||
|
|
||||||
|
* Sat Feb 23 2008 Paul P. Komkoff Jr <i@stingr.net> - 0.9.6-0.1.svn7382
|
||||||
|
- new version from svn
|
||||||
|
|
||||||
|
* Fri Feb 22 2008 Paul P. Komkoff Jr <i@stingr.net> - 0.9.5-5
|
||||||
|
- fix the PATH_MAX-related compilation problem
|
||||||
|
|
||||||
|
* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 0.9.5-4
|
||||||
|
- Autorebuild for GCC 4.3
|
||||||
|
|
||||||
|
* Tue Oct 23 2007 Paul P. Komkoff Jr <i@stingr.net> - 0.9.5-3
|
||||||
|
- review fixes
|
||||||
|
|
||||||
|
* Sun Oct 21 2007 Paul P. Komkoff Jr <i@stingr.net> - 0.9.5-2
|
||||||
|
- review fixes
|
||||||
|
|
||||||
|
* Fri Oct 19 2007 Paul P. Komkoff Jr <i@stingr.net> - 0.9.5-1
|
||||||
|
- new upstream version
|
||||||
|
|
||||||
|
* Sun Jul 22 2007 Paul P. Komkoff Jr <i@stingr.net> - 0.9.4-1
|
||||||
|
- replace conntrack with conntrack-tools
|
419
conntrackd.conf
Normal file
419
conntrackd.conf
Normal file
@ -0,0 +1,419 @@
|
|||||||
|
|
||||||
|
# See also: http://conntrack-tools.netfilter.org/support.html
|
||||||
|
#
|
||||||
|
# There are 3 different modes of running conntrackd: "alarm", "notrack" and "ftfw"
|
||||||
|
#
|
||||||
|
# The default package ships with a FTFW configuration, see /usr/share/doc/conntrackd*
|
||||||
|
# for example configurations for other modes.
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Synchronizer settings
|
||||||
|
#
|
||||||
|
Sync {
|
||||||
|
Mode FTFW {
|
||||||
|
#
|
||||||
|
# Size of the resend queue (in objects). This is the maximum
|
||||||
|
# number of objects that can be stored waiting to be confirmed
|
||||||
|
# via acknoledgment. If you keep this value low, the daemon
|
||||||
|
# will have less chances to recover state-changes under message
|
||||||
|
# omission. On the other hand, if you keep this value high,
|
||||||
|
# the daemon will consume more memory to store dead objects.
|
||||||
|
# Default is 131072 objects.
|
||||||
|
#
|
||||||
|
# ResendQueueSize 131072
|
||||||
|
|
||||||
|
#
|
||||||
|
# This parameter allows you to set an initial fixed timeout
|
||||||
|
# for the committed entries when this node goes from backup
|
||||||
|
# to primary. This mechanism provides a way to purge entries
|
||||||
|
# that were not recovered appropriately after the specified
|
||||||
|
# fixed timeout. If you set a low value, TCP entries in
|
||||||
|
# Established states with no traffic may hang. For example,
|
||||||
|
# an SSH connection without KeepAlive enabled. If not set,
|
||||||
|
# the daemon uses an approximate timeout value calculation
|
||||||
|
# mechanism. By default, this option is not set.
|
||||||
|
#
|
||||||
|
# CommitTimeout 180
|
||||||
|
|
||||||
|
#
|
||||||
|
# If the firewall replica goes from primary to backup,
|
||||||
|
# the conntrackd -t command is invoked in the script.
|
||||||
|
# This command schedules a flush of the table in N seconds.
|
||||||
|
# This is useful to purge the connection tracking table of
|
||||||
|
# zombie entries and avoid clashes with old entries if you
|
||||||
|
# trigger several consecutive hand-overs. Default is 60 seconds.
|
||||||
|
#
|
||||||
|
# PurgeTimeout 60
|
||||||
|
|
||||||
|
# Set the acknowledgement window size. If you decrease this
|
||||||
|
# value, the number of acknowlegdments increases. More
|
||||||
|
# acknowledgments means more overhead as conntrackd has to
|
||||||
|
# handle more control messages. On the other hand, if you
|
||||||
|
# increase this value, the resend queue gets more populated.
|
||||||
|
# This results in more overhead in the queue releasing.
|
||||||
|
# The following value is based on some practical experiments
|
||||||
|
# measuring the cycles spent by the acknowledgment handling
|
||||||
|
# with oprofile. If not set, default window size is 300.
|
||||||
|
#
|
||||||
|
# ACKWindowSize 300
|
||||||
|
|
||||||
|
#
|
||||||
|
# This clause allows you to disable the external cache. Thus,
|
||||||
|
# the state entries are directly injected into the kernel
|
||||||
|
# conntrack table. As a result, you save memory in user-space
|
||||||
|
# but you consume slots in the kernel conntrack table for
|
||||||
|
# backup state entries. Moreover, disabling the external cache
|
||||||
|
# means more CPU consumption. You need a Linux kernel
|
||||||
|
# >= 2.6.29 to use this feature. By default, this clause is
|
||||||
|
# set off. If you are installing conntrackd for first time,
|
||||||
|
# please read the user manual and I encourage you to consider
|
||||||
|
# using the fail-over scripts instead of enabling this option!
|
||||||
|
#
|
||||||
|
# DisableExternalCache Off
|
||||||
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# Multicast IP and interface where messages are
|
||||||
|
# broadcasted (dedicated link). IMPORTANT: Make sure
|
||||||
|
# that iptables accepts traffic for destination
|
||||||
|
# 225.0.0.50, eg:
|
||||||
|
#
|
||||||
|
# iptables -I INPUT -d 225.0.0.50 -j ACCEPT
|
||||||
|
# iptables -I OUTPUT -d 225.0.0.50 -j ACCEPT
|
||||||
|
#
|
||||||
|
Multicast {
|
||||||
|
#
|
||||||
|
# Multicast address: The address that you use as destination
|
||||||
|
# in the synchronization messages. You do not have to add
|
||||||
|
# this IP to any of your existing interfaces. If any doubt,
|
||||||
|
# do not modify this value.
|
||||||
|
#
|
||||||
|
IPv4_address 225.0.0.50
|
||||||
|
|
||||||
|
#
|
||||||
|
# The multicast group that identifies the cluster. If any
|
||||||
|
# doubt, do not modify this value.
|
||||||
|
#
|
||||||
|
Group 3780
|
||||||
|
|
||||||
|
#
|
||||||
|
# IP address of the interface that you are going to use to
|
||||||
|
# send the synchronization messages. Remember that you must
|
||||||
|
# use a dedicated link for the synchronization messages.
|
||||||
|
#
|
||||||
|
IPv4_interface 192.168.100.100
|
||||||
|
|
||||||
|
#
|
||||||
|
# The name of the interface that you are going to use to
|
||||||
|
# send the synchronization messages.
|
||||||
|
#
|
||||||
|
Interface eth2
|
||||||
|
|
||||||
|
# The multicast sender uses a buffer to enqueue the packets
|
||||||
|
# that are going to be transmitted. The default size of this
|
||||||
|
# socket buffer is available at /proc/sys/net/core/wmem_default.
|
||||||
|
# This value determines the chances to have an overrun in the
|
||||||
|
# sender queue. The overrun results packet loss, thus, losing
|
||||||
|
# state information that would have to be retransmitted. If you
|
||||||
|
# notice some packet loss, you may want to increase the size
|
||||||
|
# of the sender buffer. The default size is usually around
|
||||||
|
# ~100 KBytes which is fairly small for busy firewalls.
|
||||||
|
#
|
||||||
|
SndSocketBuffer 1249280
|
||||||
|
|
||||||
|
# The multicast receiver uses a buffer to enqueue the packets
|
||||||
|
# that the socket is pending to handle. The default size of this
|
||||||
|
# socket buffer is available at /proc/sys/net/core/rmem_default.
|
||||||
|
# This value determines the chances to have an overrun in the
|
||||||
|
# receiver queue. The overrun results packet loss, thus, losing
|
||||||
|
# state information that would have to be retransmitted. If you
|
||||||
|
# notice some packet loss, you may want to increase the size of
|
||||||
|
# the receiver buffer. The default size is usually around
|
||||||
|
# ~100 KBytes which is fairly small for busy firewalls.
|
||||||
|
#
|
||||||
|
RcvSocketBuffer 1249280
|
||||||
|
|
||||||
|
#
|
||||||
|
# Enable/Disable message checksumming. This is a good
|
||||||
|
# property to achieve fault-tolerance. In case of doubt, do
|
||||||
|
# not modify this value.
|
||||||
|
#
|
||||||
|
Checksum on
|
||||||
|
}
|
||||||
|
#
|
||||||
|
# You can specify more than one dedicated link. Thus, if one dedicated
|
||||||
|
# link fails, conntrackd can fail-over to another. Note that adding
|
||||||
|
# more than one dedicated link does not mean that state-updates will
|
||||||
|
# be sent to all of them. There is only one active dedicated link at
|
||||||
|
# a given moment. The `Default' keyword indicates that this interface
|
||||||
|
# will be selected as the initial dedicated link. You can have
|
||||||
|
# up to 4 redundant dedicated links. Note: Use different multicast
|
||||||
|
# groups for every redundant link.
|
||||||
|
#
|
||||||
|
# Multicast Default {
|
||||||
|
# IPv4_address 225.0.0.51
|
||||||
|
# Group 3781
|
||||||
|
# IPv4_interface 192.168.100.101
|
||||||
|
# Interface eth3
|
||||||
|
# # SndSocketBuffer 1249280
|
||||||
|
# # RcvSocketBuffer 1249280
|
||||||
|
# Checksum on
|
||||||
|
# }
|
||||||
|
|
||||||
|
#
|
||||||
|
# You can use Unicast UDP instead of Multicast to propagate events.
|
||||||
|
# Note that you cannot use unicast UDP and Multicast at the same
|
||||||
|
# time, you can only select one.
|
||||||
|
#
|
||||||
|
# UDP {
|
||||||
|
#
|
||||||
|
# UDP address that this firewall uses to listen to events.
|
||||||
|
#
|
||||||
|
# IPv4_address 192.168.2.100
|
||||||
|
#
|
||||||
|
# or you may want to use an IPv6 address:
|
||||||
|
#
|
||||||
|
# IPv6_address fe80::215:58ff:fe28:5a27
|
||||||
|
|
||||||
|
#
|
||||||
|
# Destination UDP address that receives events, ie. the other
|
||||||
|
# firewall's dedicated link address.
|
||||||
|
#
|
||||||
|
# IPv4_Destination_Address 192.168.2.101
|
||||||
|
#
|
||||||
|
# or you may want to use an IPv6 address:
|
||||||
|
#
|
||||||
|
# IPv6_Destination_Address fe80::2d0:59ff:fe2a:775c
|
||||||
|
|
||||||
|
#
|
||||||
|
# UDP port used
|
||||||
|
#
|
||||||
|
# Port 3780
|
||||||
|
|
||||||
|
#
|
||||||
|
# The name of the interface that you are going to use to
|
||||||
|
# send the synchronization messages.
|
||||||
|
#
|
||||||
|
# Interface eth2
|
||||||
|
|
||||||
|
#
|
||||||
|
# The sender socket buffer size
|
||||||
|
#
|
||||||
|
# SndSocketBuffer 1249280
|
||||||
|
|
||||||
|
#
|
||||||
|
# The receiver socket buffer size
|
||||||
|
#
|
||||||
|
# RcvSocketBuffer 1249280
|
||||||
|
|
||||||
|
#
|
||||||
|
# Enable/Disable message checksumming.
|
||||||
|
#
|
||||||
|
# Checksum on
|
||||||
|
# }
|
||||||
|
|
||||||
|
#
|
||||||
|
# Other unsorted options that are related to the synchronization.
|
||||||
|
#
|
||||||
|
# Options {
|
||||||
|
#
|
||||||
|
# TCP state-entries have window tracking disabled by default,
|
||||||
|
# you can enable it with this option. As said, default is off.
|
||||||
|
# This feature requires a Linux kernel >= 2.6.36.
|
||||||
|
#
|
||||||
|
# TCPWindowTracking Off
|
||||||
|
# }
|
||||||
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# General settings
|
||||||
|
#
|
||||||
|
General {
|
||||||
|
#
|
||||||
|
# Set the nice value of the daemon, this value goes from -20
|
||||||
|
# (most favorable scheduling) to 19 (least favorable). Using a
|
||||||
|
# very low value reduces the chances to lose state-change events.
|
||||||
|
# Default is 0 but this example file sets it to most favourable
|
||||||
|
# scheduling as this is generally a good idea. See man nice(1) for
|
||||||
|
# more information.
|
||||||
|
#
|
||||||
|
Nice -20
|
||||||
|
|
||||||
|
#
|
||||||
|
# Select a different scheduler for the daemon, you can select between
|
||||||
|
# RR and FIFO and the process priority (minimum is 0, maximum is 99).
|
||||||
|
# See man sched_setscheduler(2) for more information. Using a RT
|
||||||
|
# scheduler reduces the chances to overrun the Netlink buffer.
|
||||||
|
#
|
||||||
|
# Scheduler {
|
||||||
|
# Type FIFO
|
||||||
|
# Priority 99
|
||||||
|
# }
|
||||||
|
|
||||||
|
#
|
||||||
|
# Number of buckets in the cache hashtable. The bigger it is,
|
||||||
|
# the closer it gets to O(1) at the cost of consuming more memory.
|
||||||
|
# Read some documents about tuning hashtables for further reference.
|
||||||
|
#
|
||||||
|
HashSize 32768
|
||||||
|
|
||||||
|
#
|
||||||
|
# Maximum number of conntracks, it should be double of:
|
||||||
|
# $ cat /proc/sys/net/netfilter/nf_conntrack_max
|
||||||
|
# since the daemon may keep some dead entries cached for possible
|
||||||
|
# retransmission during state synchronization.
|
||||||
|
#
|
||||||
|
HashLimit 131072
|
||||||
|
|
||||||
|
#
|
||||||
|
# Logfile: on (/var/log/conntrackd.log), off, or a filename
|
||||||
|
# Default: off
|
||||||
|
#
|
||||||
|
LogFile on
|
||||||
|
|
||||||
|
#
|
||||||
|
# Syslog: on, off or a facility name (daemon (default) or local0..7)
|
||||||
|
# Default: off
|
||||||
|
#
|
||||||
|
#Syslog on
|
||||||
|
|
||||||
|
#
|
||||||
|
# Lockfile
|
||||||
|
#
|
||||||
|
LockFile /var/lock/conntrack.lock
|
||||||
|
|
||||||
|
#
|
||||||
|
# Unix socket configuration
|
||||||
|
#
|
||||||
|
UNIX {
|
||||||
|
Path /var/run/conntrackd.ctl
|
||||||
|
Backlog 20
|
||||||
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# Netlink event socket buffer size. If you do not specify this clause,
|
||||||
|
# the default buffer size value in /proc/net/core/rmem_default is
|
||||||
|
# used. This default value is usually around 100 Kbytes which is
|
||||||
|
# fairly small for busy firewalls. This leads to event message dropping
|
||||||
|
# and high CPU consumption. This example configuration file sets the
|
||||||
|
# size to 2 MBytes to avoid this sort of problems.
|
||||||
|
#
|
||||||
|
NetlinkBufferSize 2097152
|
||||||
|
|
||||||
|
#
|
||||||
|
# The daemon doubles the size of the netlink event socket buffer size
|
||||||
|
# if it detects netlink event message dropping. This clause sets the
|
||||||
|
# maximum buffer size growth that can be reached. This example file
|
||||||
|
# sets the size to 8 MBytes.
|
||||||
|
#
|
||||||
|
NetlinkBufferSizeMaxGrowth 8388608
|
||||||
|
|
||||||
|
#
|
||||||
|
# If the daemon detects that Netlink is dropping state-change events,
|
||||||
|
# it automatically schedules a resynchronization against the Kernel
|
||||||
|
# after 30 seconds (default value). Resynchronizations are expensive
|
||||||
|
# in terms of CPU consumption since the daemon has to get the full
|
||||||
|
# kernel state-table and purge state-entries that do not exist anymore.
|
||||||
|
# Be careful of setting a very small value here. You have the following
|
||||||
|
# choices: On (enabled, use default 30 seconds value), Off (disabled)
|
||||||
|
# or Value (in seconds, to set a specific amount of time). If not
|
||||||
|
# specified, the daemon assumes that this option is enabled.
|
||||||
|
#
|
||||||
|
# NetlinkOverrunResync On
|
||||||
|
|
||||||
|
#
|
||||||
|
# If you want reliable event reporting over Netlink, set on this
|
||||||
|
# option. If you set on this clause, it is a good idea to set off
|
||||||
|
# NetlinkOverrunResync. This option is off by default and you need
|
||||||
|
# a Linux kernel >= 2.6.31.
|
||||||
|
#
|
||||||
|
# NetlinkEventsReliable Off
|
||||||
|
|
||||||
|
#
|
||||||
|
# By default, the daemon receives state updates following an
|
||||||
|
# event-driven model. You can modify this behaviour by switching to
|
||||||
|
# polling mode with the PollSecs clause. This clause tells conntrackd
|
||||||
|
# to dump the states in the kernel every N seconds. With regards to
|
||||||
|
# synchronization mode, the polling mode can only guarantee that
|
||||||
|
# long-lifetime states are recovered. The main advantage of this method
|
||||||
|
# is the reduction in the state replication at the cost of reducing the
|
||||||
|
# chances of recovering connections.
|
||||||
|
#
|
||||||
|
# PollSecs 15
|
||||||
|
|
||||||
|
#
|
||||||
|
# The daemon prioritizes the handling of state-change events coming
|
||||||
|
# from the core. With this clause, you can set the maximum number of
|
||||||
|
# state-change events (those coming from kernel-space) that the daemon
|
||||||
|
# will handle after which it will handle other events coming from the
|
||||||
|
# network or userspace. A low value improves interactivity (in terms of
|
||||||
|
# real-time behaviour) at the cost of extra CPU consumption.
|
||||||
|
# Default (if not set) is 100.
|
||||||
|
#
|
||||||
|
# EventIterationLimit 100
|
||||||
|
|
||||||
|
#
|
||||||
|
# Event filtering: This clause allows you to filter certain traffic,
|
||||||
|
# There are currently three filter-sets: Protocol, Address and
|
||||||
|
# State. The filter is attached to an action that can be: Accept or
|
||||||
|
# Ignore. Thus, you can define the event filtering policy of the
|
||||||
|
# filter-sets in positive or negative logic depending on your needs.
|
||||||
|
# You can select if conntrackd filters the event messages from
|
||||||
|
# user-space or kernel-space. The kernel-space event filtering
|
||||||
|
# saves some CPU cycles by avoiding the copy of the event message
|
||||||
|
# from kernel-space to user-space. The kernel-space event filtering
|
||||||
|
# is prefered, however, you require a Linux kernel >= 2.6.29 to
|
||||||
|
# filter from kernel-space. If you want to select kernel-space
|
||||||
|
# event filtering, use the keyword 'Kernelspace' instead of
|
||||||
|
# 'Userspace'.
|
||||||
|
#
|
||||||
|
Filter From Userspace {
|
||||||
|
#
|
||||||
|
# Accept only certain protocols: You may want to replicate
|
||||||
|
# the state of flows depending on their layer 4 protocol.
|
||||||
|
#
|
||||||
|
Protocol Accept {
|
||||||
|
TCP
|
||||||
|
SCTP
|
||||||
|
DCCP
|
||||||
|
# UDP
|
||||||
|
# ICMP # This requires a Linux kernel >= 2.6.31
|
||||||
|
# IPv6-ICMP # This requires a Linux kernel >= 2.6.31
|
||||||
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# Ignore traffic for a certain set of IP's: Usually all the
|
||||||
|
# IP assigned to the firewall since local traffic must be
|
||||||
|
# ignored, only forwarded connections are worth to replicate.
|
||||||
|
# Note that these values depends on the local IPs that are
|
||||||
|
# assigned to the firewall.
|
||||||
|
#
|
||||||
|
Address Ignore {
|
||||||
|
IPv4_address 127.0.0.1 # loopback
|
||||||
|
IPv4_address 192.168.0.100 # virtual IP 1
|
||||||
|
IPv4_address 192.168.1.100 # virtual IP 2
|
||||||
|
IPv4_address 192.168.0.1
|
||||||
|
IPv4_address 192.168.1.1
|
||||||
|
IPv4_address 192.168.100.100 # dedicated link ip
|
||||||
|
#
|
||||||
|
# You can also specify networks in format IP/cidr.
|
||||||
|
# IPv4_address 192.168.0.0/24
|
||||||
|
#
|
||||||
|
# You can also specify an IPv6 address
|
||||||
|
# IPv6_address ::1
|
||||||
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# Uncomment this line below if you want to filter by flow state.
|
||||||
|
# This option introduces a trade-off in the replication: it
|
||||||
|
# reduces CPU consumption at the cost of having lazy backup
|
||||||
|
# firewall replicas. The existing TCP states are: SYN_SENT,
|
||||||
|
# SYN_RECV, ESTABLISHED, FIN_WAIT, CLOSE_WAIT, LAST_ACK,
|
||||||
|
# TIME_WAIT, CLOSED, LISTEN.
|
||||||
|
#
|
||||||
|
# State Accept {
|
||||||
|
# ESTABLISHED CLOSED TIME_WAIT CLOSE_WAIT for TCP
|
||||||
|
# }
|
||||||
|
}
|
||||||
|
}
|
114
conntrackd.init
Normal file
114
conntrackd.init
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# /etc/init.d/conntrackd
|
||||||
|
#
|
||||||
|
# Created for RHEL/Centos by: James Shubin <purpleidea@gmail.com>
|
||||||
|
#
|
||||||
|
### BEGIN INIT INFO
|
||||||
|
# Provides: conntrackd
|
||||||
|
# Required-Start: $network $syslog
|
||||||
|
# Required-Stop: $network $syslog
|
||||||
|
# Should-Start: $named
|
||||||
|
# Should-Stop: $named
|
||||||
|
# Default-Start: 3 4 5
|
||||||
|
# Default-Stop: 0 1 6
|
||||||
|
# Short-Description: daemon for netfilter connection tracking
|
||||||
|
# Description: This is a daemon for replicating connection state across two
|
||||||
|
# machines. See http://conntrack-tools.netfilter.org/
|
||||||
|
### END INIT INFO
|
||||||
|
|
||||||
|
# the following is the chkconfig init header
|
||||||
|
#
|
||||||
|
# conntrackd: daemon for netfilter connection tracking
|
||||||
|
#
|
||||||
|
# chkconfig: 345 97 03
|
||||||
|
# description: This is a daemon for replicating connection state across two
|
||||||
|
# machines. See http://conntrack-tools.netfilter.org/
|
||||||
|
#
|
||||||
|
# processname: conntrackd
|
||||||
|
# pidfile: /var/run/conntrackd.pid
|
||||||
|
#
|
||||||
|
|
||||||
|
# Sanity checks
|
||||||
|
[ -x /usr/sbin/conntrackd ] || exit 0
|
||||||
|
|
||||||
|
# Source function library.
|
||||||
|
. /etc/rc.d/init.d/functions
|
||||||
|
|
||||||
|
SERVICE=conntrackd
|
||||||
|
PROCESS=conntrackd
|
||||||
|
CONNTRACKD_CONFIG=
|
||||||
|
CONNTRACKD_ARGS=
|
||||||
|
|
||||||
|
test -f /etc/sysconfig/conntrackd && . /etc/sysconfig/conntrackd
|
||||||
|
|
||||||
|
CONNTRACKD_CONFIG_ARGS=
|
||||||
|
if [ -n "$CONNTRACKD_CONFIG" ]
|
||||||
|
then
|
||||||
|
CONNTRACKD_CONFIG_ARGS="-C $CONNTRACKD_CONFIG"
|
||||||
|
fi
|
||||||
|
|
||||||
|
RETVAL=0
|
||||||
|
|
||||||
|
start() {
|
||||||
|
echo -n $"Starting $SERVICE: "
|
||||||
|
# If Linux kernel is < 2.6.22, disable TCP window tracking
|
||||||
|
if uname -r | {
|
||||||
|
# version cmp courtesy of geirha in #bash
|
||||||
|
IFS=.- read -r a b c _; [ "$((a*10000+b*100+c))" -lt 20622 ];
|
||||||
|
}; then
|
||||||
|
echo 1 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_be_liberal
|
||||||
|
fi
|
||||||
|
daemon --check $SERVICE $PROCESS -d $CONNTRACKD_CONFIG_ARGS $CONNTRACKD_ARGS
|
||||||
|
RETVAL=$?
|
||||||
|
echo
|
||||||
|
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/$SERVICE
|
||||||
|
}
|
||||||
|
|
||||||
|
stop() {
|
||||||
|
echo -n $"Stopping $SERVICE: "
|
||||||
|
killproc $PROCESS
|
||||||
|
RETVAL=$?
|
||||||
|
echo
|
||||||
|
if [ $RETVAL -eq 0 ]; then
|
||||||
|
rm -f /var/lock/subsys/$SERVICE
|
||||||
|
rm -f /var/run/$SERVICE.pid
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
restart() {
|
||||||
|
stop
|
||||||
|
start
|
||||||
|
}
|
||||||
|
|
||||||
|
# XXX: can conntrackd reload?
|
||||||
|
reload() {
|
||||||
|
echo -n $"Reloading $SERVICE configuration: "
|
||||||
|
killproc $PROCESS -HUP
|
||||||
|
RETVAL=$?
|
||||||
|
echo
|
||||||
|
return $RETVAL
|
||||||
|
}
|
||||||
|
|
||||||
|
# See how we were called.
|
||||||
|
case "$1" in
|
||||||
|
start|stop|restart|reload)
|
||||||
|
$1
|
||||||
|
;;
|
||||||
|
status)
|
||||||
|
status $PROCESS
|
||||||
|
RETVAL=$?
|
||||||
|
;;
|
||||||
|
force-reload)
|
||||||
|
reload
|
||||||
|
;;
|
||||||
|
condrestart|try-restart)
|
||||||
|
[ -f /var/lock/subsys/$SERVICE ] && restart || :
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo $"Usage: $0 {start|stop|status|restart|condrestart|reload}"
|
||||||
|
exit 2
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
exit $RETVAL
|
||||||
|
|
13
conntrackd.service
Normal file
13
conntrackd.service
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=connection tracking daemon for debugging and High Availablity
|
||||||
|
After=network-online.target
|
||||||
|
Wants=network-online.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
# rhbz#1255578 daemon will not start if lock file is left dangling
|
||||||
|
ExecStartPre=/bin/rm -f /var/lock/conntrack.lock
|
||||||
|
ExecStart=/usr/sbin/conntrackd -C /etc/conntrackd/conntrackd.conf
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
Loading…
Reference in New Issue
Block a user