The following series is aiming at adding full NAT support to IPVS. The
approach is via a minimal change to IPVS (make friends with nf_conntrack)
and adding a netfilter matcher (xt_ipvs + libxt_ipvs).
Example usage:
% ipvsadm -A -t 192.168.100.30:8080 -s rr
% ipvsadm -a -t 192.168.100.30:8080 -r 192.168.10.20:8080 -m
# ...
# SNAT for VIP 192.168.100.30:8080
% iptables -t nat -A POSTROUTING -m ipvs --vaddr 192.168.100.30/32 --vport 8080
\
> -j SNAT --to-source 192.168.10.10
Comments?
Changes to the linux kernel:
Hannes Eder (4):
IPVS: debugging output for ip_vs_update_conntrack
IPVS: make friends with nf_conntrack
netfilter: xt_ipvs (netfilter matcher for ipvs)
IPVS: prefix EnterFunction and LeaveFunction msg with "IPVS:"
include/linux/netfilter/xt_ipvs.h | 32 +++++++
include/net/ip_vs.h | 24 +++--
net/netfilter/Kconfig | 8 ++
net/netfilter/Makefile | 1
net/netfilter/ipvs/ip_vs_core.c | 36 --------
net/netfilter/ipvs/ip_vs_proto.c | 1
net/netfilter/ipvs/ip_vs_xmit.c | 54 ++++++++++++
net/netfilter/xt_ipvs.c | 171 +++++++++++++++++++++++++++++++++++++
8 files changed, 279 insertions(+), 48 deletions(-)
create mode 100644 include/linux/netfilter/xt_ipvs.h
create mode 100644 net/netfilter/xt_ipvs.c
Changes to iptables:
Hannes Eder (1):
libxt_ipvs: user space lib for netfilter matcher xt_ipvs
extensions/libxt_ipvs.c | 350 +++++++++++++++++++++++++++++++++++++
extensions/libxt_ipvs.man | 7 +
include/linux/netfilter/xt_ipvs.h | 32 +++
3 files changed, 389 insertions(+), 0 deletions(-)
create mode 100644 extensions/libxt_ipvs.c
create mode 100644 extensions/libxt_ipvs.man
create mode 100644 include/linux/netfilter/xt_ipvs.h
Cheers,
-Hannes
--
To unsubscribe from this list: send the line "unsubscribe lvs-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
|