SlideShare une entreprise Scribd logo
1  sur  35
Télécharger pour lire hors ligne
The Next Generation Firewall for
Red Hat Enterprise Linux 7 RC
Thomas Graf
Red Hat
Agenda
● FirewallD – Firewall Management as a Service
● Kernel – New Filtering Capabilities
● Nftables – A Look Ahead
FirewallD
Firewall Management as a Service
Existing Packet Filtering Architecture
iptables
Netfilter
ip6tables ebtablesUser
Land
Kernel
IPv4 IPv6 Bridge
Protocol dependent packet filter and utilities
IPv4 IPv6 Bridge
FirewallD
Application
D-Bus
User Interface
Graphical
CLI
Firewall Management as a Service
Reports
D-Bus
FirewallD – Policy Abstraction
ZonePolicy
• Default policy
• Enabled services
• Masquerading
• Port forwarding
• ICMP filter
• Rich rules
FirewallD – Zone Definition
• Name
• Description
• Port range
• Destination network/address
• List of required kernel modules
FirewallD – Service Definition
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>WWW (HTTP)</short>
<description>[...]</description>
<port protocol="tcp" port="80"/>
</service>
FirewallD – Graphical User Interface
• Add interface “eth0” to zone “public” permanently:
• List enabled services:
# firewall-cmd --permanent --zone=internal --add-interface=eth0
# firewall-cmd --zone=public –list-services
dhcpv6-client ipp ipp-client mdns ssh
#
FirewallD – Command Line Interface
RHEL7 Netfilter Kernel Changes
Scaling of Legacy Applications (xt_cpu)
# iptables -t nat -A PREROUTING -p tcp --dport 80 
-m cpu --cpu 0 -j REDIRECT --to-port 8080
# iptables -t nat -A PREROUTING -p tcp --dport 80 
-m cpu --cpu 1 -j REDIRECT --to-port 8081
App instance #1 on 8080
RSS
CPU 1
80 8080
REDIRECT
App instance #2 on 8081CPU 2
80 8081
REDIRECT
App instance #n on 808nCPU n
80 808n
REDIRECT
Connection Tracking target (xt_CT)
• Disable connection tracking for DNS traffic
(Replacement for NOTRACK target in RHEL6)
• Define multiple zones to allow for conflicting flow identities
# iptables -t raw -A PREROUTING -i eth0 -j CT --zone 10
# iptables -t raw -A PREROUTING -p udp --dport 53 -j CT --notrack
# iptables -t raw -A OUTPUT -p udp --sport 53 -j CT --notrack
Connection Tracking target (xt_CT)
• Modify connection tracking timeout for TCP traffic
# iptables -t raw -A PREROUTING -p tcp -j CT --timeout my-tcp-policy# nfct timeout add my-tcp-policy inet tcp 
established 100 close 10 close_wait 10
# iptables -t raw -A PREROUTING -p tcp -j CT --timeout my-tcp-policy
IPv6 Connection Tracking & NAT
• Available targets:
• SNAT, DNAT, MASQUERADE, NETMAP, REDIRECT
• Available Connection Tracking Helpers:
• SIP, FTP, Amanda
# ip6tables -t nat -A POSTROUTING -o eth0 -j SNAT --to 2001:aa::1
CT Helpers in User Space
• No need for kernel module to support (proprietary) protocols
• Rapid development
• Avoid complex string matching and mangling in kernel
SYNPROXY (xt_SYNPROXY)
• Protection against SYN flood attacks
• Lightweight proxy for TCP three-way handshake
# iptables -t raw -A PREROUTING -p tcp --dport 80 --syn -j CT --notrack
# iptables -A INPUT -p tcp --dport 80 -m state UNTRACKED,INVALID 
-j SYNPROXY --sack-perm --timestamp --mss 1480 --wscale 7 –ecn
Extended Accounting (xt_nfacct)
• Kernel based meter providing packet and byte statistics
• Avoids need to perform expensive rule set statistics polling
# iptables -I INPUT -p tcp --sport 80 
-m nfacct --nfacct-name http-traffic
# nfacct-add http-traffic
# nfacct-get
http-traffic = { pkts = 000000008231, bytes = 000044932916 };
Connection Labeling (xt_connlabel)
• Label connection tracking entries with rule:
• ... then match on labels:
# iptables -A INPUT -m connlabel --label customer-bulk-traffic 
-m connlimit --connlimit-above 2 -j REJECT
# iptables -A INPUT -i eth0 -m helper --helper ftp 
-m connlabel --label customer-bulk-traffic --set
# iptables -A INPUT -i eth0 -p tcp --dport 22 
-m connlabel --label customer-interactive --set
•Matches if a reply to a packet would be sent via the incoming
interface
•Drop packets that failed reverse path filtering:
• Identical in functionality as net.ipv4.conf.all.rp_filter = 1
Reverse Path Filtering (xt_rpfilter)
# iptables -t raw -A PREROUTING -m rpfilter --invert -j DROP
Berkley Packet Filter (xt_bpf)
• Match packets based Berkley Packet Filter (BPF) filters
• Use tcpdump to generate the bytecode:
# iptables -A OUTPUT -m bpf 
--bytecode "8,40 0 0 12,21 1 0 [...]" -j ACCEPT
# tcpdump -ddd vlan 20 and dst port 22 | tr 'n' ','
26,40 0 0 12,21 1 0 33024,21 0 22 37120 [...]
New ipset Features
• Automatic range to subnets translations (IPv4 only)
• Exceptions in sets:
# ipset new test hash:net
# [...]
# ipset add test 10.2.0.10/32 nomatch
# ipset new test hash:net
# ipset add test 10.1.0.0-10.3.49.2
IDLETIMER target (xt_IDLETIMER)
• Define timers and restart them via rules
• Example Usage:
•Detect idle interfaces and put them in power safe mode
# iptables -A OUTPUT -o eth0 -j IDLETIMER --timeout 5 --label foo
# cat /sys/class/xt_idletimer/timers/foo
4
[...]
# cat /sys/class/xt_idletimer/timers/foo
0
TEE target (xt_TEE)
• Clone & send packet to local machine for logging
# iptables -t mangle -A PREROUTING -i eth0 
-j TEE --gateway 2001:db8::1
NFQUEUE performance optimizations
• Zero copy Netlink to user space
• CPU Fanout: CPU # selects queue #:
# iptables -A INPUT -i eth0 
-j NFQUEUE --queue-balance 0:31 --queue-cpu-fanout
# iptables -A INPUT -j NFQUEUE --queue-num 3
Generic Address Type Filter (xt_addrtype)
• Match type of source and/or destination address:
# ip6tables -A INPUT -m addrtype --dst-type MULTICAST -j DROP
# ip6tables -A OUTPUT -m addrtype ! --src-type LOCAL -j REJECT
nftables (Tech Preview)
A Look Ahead
nftables – State Machine Based Packet Filtering
• New packet filtering subsystem to replace {ip,ip6,arp,eb}tables
• Byte code execution in kernel pseudo state machine
• Unified interface nft to replace protocol aware utilities
User space
ACL
Kernel
Byte
Code
Byte
Code
Byte
Code
nft
nftables – Features Summary
• Heavy code reduction in kernel, minimal protocol awareness
• No kernel change required to support new protocols
• Incremental updates
• Byte code can be optimized and offloaded
• Efficient rule execution and storage
• Fast lookups through data structures (e.g. hash tables)
• Improved error handling
nftables – Want to try it out?
• Included in RHEL7.0 RC2 kernel (Tech Preview)
• Userspace packages likely included in future minor release
• Fetch them from upstream to get testing
•libmnl, libnfnl, nftables
Q&A
Slides: http://slidesha.re/1maiHxL
Contact: tgraf@redhat.com
Backup
Explicit Congestion Notification (xt_ecn)
• Match ECN bits on IPv4/IPv6 and TCP header (RFC3168):
# iptables -A INPUT -i eth1 -m ecn ! --ecn-tcp-cwr -j REJECT
Compat Support
• Run 32bit iptables on 64bit kernel
Match on IPVS properties
• Combine full NAT functionality with IPVS properties:
# iptables -t nat -A POSTROUTING 
-m ipvs --vaddr 192.168.100.30/32 --vport http 
-j SNAT [...]

Contenu connexe

Tendances

LinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking WalkthroughLinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking WalkthroughThomas Graf
 
P4によるデータプレーンプログラミングとユースケースのご紹介
P4によるデータプレーンプログラミングとユースケースのご紹介P4によるデータプレーンプログラミングとユースケースのご紹介
P4によるデータプレーンプログラミングとユースケースのご紹介Kumapone
 
Faster packet processing in Linux: XDP
Faster packet processing in Linux: XDPFaster packet processing in Linux: XDP
Faster packet processing in Linux: XDPDaniel T. Lee
 
DMVPN configuration - Configuring Cisco dynamic Multipoint VPN - HUB, SPOKES,...
DMVPN configuration - Configuring Cisco dynamic Multipoint VPN - HUB, SPOKES,...DMVPN configuration - Configuring Cisco dynamic Multipoint VPN - HUB, SPOKES,...
DMVPN configuration - Configuring Cisco dynamic Multipoint VPN - HUB, SPOKES,...NetProtocol Xpert
 
ネットワーク機器のAPIあれこれ入門 (NetOpsCoding#2)
ネットワーク機器のAPIあれこれ入門(NetOpsCoding#2)ネットワーク機器のAPIあれこれ入門(NetOpsCoding#2)
ネットワーク機器のAPIあれこれ入門 (NetOpsCoding#2)Kentaro Ebisawa
 
BPF & Cilium - Turning Linux into a Microservices-aware Operating System
BPF  & Cilium - Turning Linux into a Microservices-aware Operating SystemBPF  & Cilium - Turning Linux into a Microservices-aware Operating System
BPF & Cilium - Turning Linux into a Microservices-aware Operating SystemThomas Graf
 
Introduction to eBPF and XDP
Introduction to eBPF and XDPIntroduction to eBPF and XDP
Introduction to eBPF and XDPlcplcp1
 
eBPF - Rethinking the Linux Kernel
eBPF - Rethinking the Linux KerneleBPF - Rethinking the Linux Kernel
eBPF - Rethinking the Linux KernelThomas Graf
 
EBPF and Linux Networking
EBPF and Linux NetworkingEBPF and Linux Networking
EBPF and Linux NetworkingPLUMgrid
 
nftables - the evolution of Linux Firewall
nftables - the evolution of Linux Firewallnftables - the evolution of Linux Firewall
nftables - the evolution of Linux FirewallMarian Marinov
 
Linux Native, HTTP Aware Network Security
Linux Native, HTTP Aware Network SecurityLinux Native, HTTP Aware Network Security
Linux Native, HTTP Aware Network SecurityThomas Graf
 
Fun with Network Interfaces
Fun with Network InterfacesFun with Network Interfaces
Fun with Network InterfacesKernel TLV
 
TRex Realistic Traffic Generator - Stateless support
TRex  Realistic Traffic Generator  - Stateless support TRex  Realistic Traffic Generator  - Stateless support
TRex Realistic Traffic Generator - Stateless support Hanoch Haim
 
ContainerDays Hamburg 2023 — Cilium Workshop.pdf
ContainerDays Hamburg 2023 — Cilium Workshop.pdfContainerDays Hamburg 2023 — Cilium Workshop.pdf
ContainerDays Hamburg 2023 — Cilium Workshop.pdfRaphaël PINSON
 
Zebra SRv6 CLI on Linux Dataplane (ENOG#49)
Zebra SRv6 CLI on Linux Dataplane (ENOG#49)Zebra SRv6 CLI on Linux Dataplane (ENOG#49)
Zebra SRv6 CLI on Linux Dataplane (ENOG#49)Kentaro Ebisawa
 
Service Function Chaining with SRv6
Service Function Chaining with SRv6Service Function Chaining with SRv6
Service Function Chaining with SRv6Ahmed AbdelSalam
 
eBPF Trace from Kernel to Userspace
eBPF Trace from Kernel to UserspaceeBPF Trace from Kernel to Userspace
eBPF Trace from Kernel to UserspaceSUSE Labs Taipei
 
Introduction to eBPF
Introduction to eBPFIntroduction to eBPF
Introduction to eBPFRogerColl2
 
Access Network Evolution
Access Network Evolution Access Network Evolution
Access Network Evolution Cisco Canada
 

Tendances (20)

LinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking WalkthroughLinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking Walkthrough
 
P4によるデータプレーンプログラミングとユースケースのご紹介
P4によるデータプレーンプログラミングとユースケースのご紹介P4によるデータプレーンプログラミングとユースケースのご紹介
P4によるデータプレーンプログラミングとユースケースのご紹介
 
Faster packet processing in Linux: XDP
Faster packet processing in Linux: XDPFaster packet processing in Linux: XDP
Faster packet processing in Linux: XDP
 
DMVPN configuration - Configuring Cisco dynamic Multipoint VPN - HUB, SPOKES,...
DMVPN configuration - Configuring Cisco dynamic Multipoint VPN - HUB, SPOKES,...DMVPN configuration - Configuring Cisco dynamic Multipoint VPN - HUB, SPOKES,...
DMVPN configuration - Configuring Cisco dynamic Multipoint VPN - HUB, SPOKES,...
 
ネットワーク機器のAPIあれこれ入門 (NetOpsCoding#2)
ネットワーク機器のAPIあれこれ入門(NetOpsCoding#2)ネットワーク機器のAPIあれこれ入門(NetOpsCoding#2)
ネットワーク機器のAPIあれこれ入門 (NetOpsCoding#2)
 
BPF & Cilium - Turning Linux into a Microservices-aware Operating System
BPF  & Cilium - Turning Linux into a Microservices-aware Operating SystemBPF  & Cilium - Turning Linux into a Microservices-aware Operating System
BPF & Cilium - Turning Linux into a Microservices-aware Operating System
 
Introduction to eBPF and XDP
Introduction to eBPF and XDPIntroduction to eBPF and XDP
Introduction to eBPF and XDP
 
eBPF - Rethinking the Linux Kernel
eBPF - Rethinking the Linux KerneleBPF - Rethinking the Linux Kernel
eBPF - Rethinking the Linux Kernel
 
EBPF and Linux Networking
EBPF and Linux NetworkingEBPF and Linux Networking
EBPF and Linux Networking
 
nftables - the evolution of Linux Firewall
nftables - the evolution of Linux Firewallnftables - the evolution of Linux Firewall
nftables - the evolution of Linux Firewall
 
Linux Native, HTTP Aware Network Security
Linux Native, HTTP Aware Network SecurityLinux Native, HTTP Aware Network Security
Linux Native, HTTP Aware Network Security
 
Fun with Network Interfaces
Fun with Network InterfacesFun with Network Interfaces
Fun with Network Interfaces
 
TRex Realistic Traffic Generator - Stateless support
TRex  Realistic Traffic Generator  - Stateless support TRex  Realistic Traffic Generator  - Stateless support
TRex Realistic Traffic Generator - Stateless support
 
ContainerDays Hamburg 2023 — Cilium Workshop.pdf
ContainerDays Hamburg 2023 — Cilium Workshop.pdfContainerDays Hamburg 2023 — Cilium Workshop.pdf
ContainerDays Hamburg 2023 — Cilium Workshop.pdf
 
Zebra SRv6 CLI on Linux Dataplane (ENOG#49)
Zebra SRv6 CLI on Linux Dataplane (ENOG#49)Zebra SRv6 CLI on Linux Dataplane (ENOG#49)
Zebra SRv6 CLI on Linux Dataplane (ENOG#49)
 
eBPF Basics
eBPF BasicseBPF Basics
eBPF Basics
 
Service Function Chaining with SRv6
Service Function Chaining with SRv6Service Function Chaining with SRv6
Service Function Chaining with SRv6
 
eBPF Trace from Kernel to Userspace
eBPF Trace from Kernel to UserspaceeBPF Trace from Kernel to Userspace
eBPF Trace from Kernel to Userspace
 
Introduction to eBPF
Introduction to eBPFIntroduction to eBPF
Introduction to eBPF
 
Access Network Evolution
Access Network Evolution Access Network Evolution
Access Network Evolution
 

En vedette

LinuxCon 2015 Stateful NAT with OVS
LinuxCon 2015 Stateful NAT with OVSLinuxCon 2015 Stateful NAT with OVS
LinuxCon 2015 Stateful NAT with OVSThomas Graf
 
2015 FOSDEM - OVS Stateful Services
2015 FOSDEM - OVS Stateful Services2015 FOSDEM - OVS Stateful Services
2015 FOSDEM - OVS Stateful ServicesThomas Graf
 
Cilium - BPF & XDP for containers
Cilium - BPF & XDP for containersCilium - BPF & XDP for containers
Cilium - BPF & XDP for containersThomas Graf
 
Open vSwitch - Stateful Connection Tracking & Stateful NAT
Open vSwitch - Stateful Connection Tracking & Stateful NATOpen vSwitch - Stateful Connection Tracking & Stateful NAT
Open vSwitch - Stateful Connection Tracking & Stateful NATThomas Graf
 
Cilium - Container Networking with BPF & XDP
Cilium - Container Networking with BPF & XDPCilium - Container Networking with BPF & XDP
Cilium - Container Networking with BPF & XDPThomas Graf
 
DevConf 2014 Kernel Networking Walkthrough
DevConf 2014   Kernel Networking WalkthroughDevConf 2014   Kernel Networking Walkthrough
DevConf 2014 Kernel Networking WalkthroughThomas Graf
 
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)Thomas Graf
 
BPF: Next Generation of Programmable Datapath
BPF: Next Generation of Programmable DatapathBPF: Next Generation of Programmable Datapath
BPF: Next Generation of Programmable DatapathThomas Graf
 
SDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center NetworkingSDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center NetworkingThomas Graf
 
Red Hat OpenShift V3 Overview and Deep Dive
Red Hat OpenShift V3 Overview and Deep DiveRed Hat OpenShift V3 Overview and Deep Dive
Red Hat OpenShift V3 Overview and Deep DiveGreg Hoelzer
 
Analyst report for Next Generation Firewalls
Analyst report for Next Generation FirewallsAnalyst report for Next Generation Firewalls
Analyst report for Next Generation FirewallsIla Group
 
application firewall research proposal
application firewall research proposalapplication firewall research proposal
application firewall research proposalPeter Cheung
 
Transitioning to Next-Generation Firewall Management - 3 Ways to Accelerate t...
Transitioning to Next-Generation Firewall Management - 3 Ways to Accelerate t...Transitioning to Next-Generation Firewall Management - 3 Ways to Accelerate t...
Transitioning to Next-Generation Firewall Management - 3 Ways to Accelerate t...Skybox Security
 
Why Its time to Upgrade a Next-Generation Firewall
Why Its time to Upgrade a Next-Generation FirewallWhy Its time to Upgrade a Next-Generation Firewall
Why Its time to Upgrade a Next-Generation FirewallAli Kapucu
 
Webinar-Linux Networking is Awesome
Webinar-Linux Networking is AwesomeWebinar-Linux Networking is Awesome
Webinar-Linux Networking is AwesomeCumulus Networks
 

En vedette (16)

LinuxCon 2015 Stateful NAT with OVS
LinuxCon 2015 Stateful NAT with OVSLinuxCon 2015 Stateful NAT with OVS
LinuxCon 2015 Stateful NAT with OVS
 
2015 FOSDEM - OVS Stateful Services
2015 FOSDEM - OVS Stateful Services2015 FOSDEM - OVS Stateful Services
2015 FOSDEM - OVS Stateful Services
 
Cilium - BPF & XDP for containers
Cilium - BPF & XDP for containersCilium - BPF & XDP for containers
Cilium - BPF & XDP for containers
 
Open vSwitch - Stateful Connection Tracking & Stateful NAT
Open vSwitch - Stateful Connection Tracking & Stateful NATOpen vSwitch - Stateful Connection Tracking & Stateful NAT
Open vSwitch - Stateful Connection Tracking & Stateful NAT
 
Cilium - Container Networking with BPF & XDP
Cilium - Container Networking with BPF & XDPCilium - Container Networking with BPF & XDP
Cilium - Container Networking with BPF & XDP
 
DevConf 2014 Kernel Networking Walkthrough
DevConf 2014   Kernel Networking WalkthroughDevConf 2014   Kernel Networking Walkthrough
DevConf 2014 Kernel Networking Walkthrough
 
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
 
BPF: Next Generation of Programmable Datapath
BPF: Next Generation of Programmable DatapathBPF: Next Generation of Programmable Datapath
BPF: Next Generation of Programmable Datapath
 
SDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center NetworkingSDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center Networking
 
Red Hat OpenShift V3 Overview and Deep Dive
Red Hat OpenShift V3 Overview and Deep DiveRed Hat OpenShift V3 Overview and Deep Dive
Red Hat OpenShift V3 Overview and Deep Dive
 
Analyst report for Next Generation Firewalls
Analyst report for Next Generation FirewallsAnalyst report for Next Generation Firewalls
Analyst report for Next Generation Firewalls
 
application firewall research proposal
application firewall research proposalapplication firewall research proposal
application firewall research proposal
 
Transitioning to Next-Generation Firewall Management - 3 Ways to Accelerate t...
Transitioning to Next-Generation Firewall Management - 3 Ways to Accelerate t...Transitioning to Next-Generation Firewall Management - 3 Ways to Accelerate t...
Transitioning to Next-Generation Firewall Management - 3 Ways to Accelerate t...
 
Why is PHP Awesome
Why is PHP AwesomeWhy is PHP Awesome
Why is PHP Awesome
 
Why Its time to Upgrade a Next-Generation Firewall
Why Its time to Upgrade a Next-Generation FirewallWhy Its time to Upgrade a Next-Generation Firewall
Why Its time to Upgrade a Next-Generation Firewall
 
Webinar-Linux Networking is Awesome
Webinar-Linux Networking is AwesomeWebinar-Linux Networking is Awesome
Webinar-Linux Networking is Awesome
 

Similaire à The Next Generation Firewall for Red Hat Enterprise Linux 7 RC

How to convert your Linux box into Security Gateway - Part 1
How to convert your Linux box into Security Gateway - Part 1How to convert your Linux box into Security Gateway - Part 1
How to convert your Linux box into Security Gateway - Part 1n|u - The Open Security Community
 
OSN days 2019 - Open Networking and Programmable Switch
OSN days 2019 - Open Networking and Programmable SwitchOSN days 2019 - Open Networking and Programmable Switch
OSN days 2019 - Open Networking and Programmable SwitchChun Ming Ou
 
Topic 5 nx os management-ver 0.2
Topic 5 nx os management-ver 0.2Topic 5 nx os management-ver 0.2
Topic 5 nx os management-ver 0.2Krunal Shah
 
Wireshark, Tcpdump and Network Performance tools
Wireshark, Tcpdump and Network Performance toolsWireshark, Tcpdump and Network Performance tools
Wireshark, Tcpdump and Network Performance toolsSachidananda Sahu
 
Multi-Layer DDoS Mitigation Strategies
Multi-Layer DDoS Mitigation StrategiesMulti-Layer DDoS Mitigation Strategies
Multi-Layer DDoS Mitigation StrategiesLogan Best
 
DPDK summit 2015: It's kind of fun to do the impossible with DPDK
DPDK summit 2015: It's kind of fun  to do the impossible with DPDKDPDK summit 2015: It's kind of fun  to do the impossible with DPDK
DPDK summit 2015: It's kind of fun to do the impossible with DPDKLagopus SDN/OpenFlow switch
 
DPDK Summit 2015 - NTT - Yoshihiro Nakajima
DPDK Summit 2015 - NTT - Yoshihiro NakajimaDPDK Summit 2015 - NTT - Yoshihiro Nakajima
DPDK Summit 2015 - NTT - Yoshihiro NakajimaJim St. Leger
 
[Webinar Slides] Programming the Network Dataplane in P4
[Webinar Slides] Programming the Network Dataplane in P4[Webinar Slides] Programming the Network Dataplane in P4
[Webinar Slides] Programming the Network Dataplane in P4Open Networking Summits
 
Security defined routing_cybergamut_v1_1
Security defined routing_cybergamut_v1_1Security defined routing_cybergamut_v1_1
Security defined routing_cybergamut_v1_1Joel W. King
 
PLNOG 13: P. Kupisiewicz, O. Pelerin: Make IOS-XE Troubleshooting Easy – Pack...
PLNOG 13: P. Kupisiewicz, O. Pelerin: Make IOS-XE Troubleshooting Easy – Pack...PLNOG 13: P. Kupisiewicz, O. Pelerin: Make IOS-XE Troubleshooting Easy – Pack...
PLNOG 13: P. Kupisiewicz, O. Pelerin: Make IOS-XE Troubleshooting Easy – Pack...PROIDEA
 
Install FD.IO VPP On Intel(r) Architecture & Test with Trex*
Install FD.IO VPP On Intel(r) Architecture & Test with Trex*Install FD.IO VPP On Intel(r) Architecture & Test with Trex*
Install FD.IO VPP On Intel(r) Architecture & Test with Trex*Michelle Holley
 
High perf-networking
High perf-networkingHigh perf-networking
High perf-networkingmtimjones
 
Snabbflow: A Scalable IPFIX exporter
Snabbflow: A Scalable IPFIX exporterSnabbflow: A Scalable IPFIX exporter
Snabbflow: A Scalable IPFIX exporterIgalia
 
SF-TAP: Scalable and Flexible Traffic Analysis Platform (USENIX LISA 2015)
SF-TAP: Scalable and Flexible Traffic Analysis Platform (USENIX LISA 2015)SF-TAP: Scalable and Flexible Traffic Analysis Platform (USENIX LISA 2015)
SF-TAP: Scalable and Flexible Traffic Analysis Platform (USENIX LISA 2015)Yuuki Takano
 
VMworld 2016: vSphere 6.x Host Resource Deep Dive
VMworld 2016: vSphere 6.x Host Resource Deep DiveVMworld 2016: vSphere 6.x Host Resource Deep Dive
VMworld 2016: vSphere 6.x Host Resource Deep DiveVMworld
 
Krzysztof Mazepa - Netflow/cflow - ulubionym narzędziem operatorów SP
Krzysztof Mazepa - Netflow/cflow - ulubionym narzędziem operatorów SPKrzysztof Mazepa - Netflow/cflow - ulubionym narzędziem operatorów SP
Krzysztof Mazepa - Netflow/cflow - ulubionym narzędziem operatorów SPPROIDEA
 
DPDK Summit - 08 Sept 2014 - NTT - High Performance vSwitch
DPDK Summit - 08 Sept 2014 - NTT - High Performance vSwitchDPDK Summit - 08 Sept 2014 - NTT - High Performance vSwitch
DPDK Summit - 08 Sept 2014 - NTT - High Performance vSwitchJim St. Leger
 

Similaire à The Next Generation Firewall for Red Hat Enterprise Linux 7 RC (20)

How to convert your Linux box into Security Gateway - Part 1
How to convert your Linux box into Security Gateway - Part 1How to convert your Linux box into Security Gateway - Part 1
How to convert your Linux box into Security Gateway - Part 1
 
OSN days 2019 - Open Networking and Programmable Switch
OSN days 2019 - Open Networking and Programmable SwitchOSN days 2019 - Open Networking and Programmable Switch
OSN days 2019 - Open Networking and Programmable Switch
 
Topic 5 nx os management-ver 0.2
Topic 5 nx os management-ver 0.2Topic 5 nx os management-ver 0.2
Topic 5 nx os management-ver 0.2
 
Wireshark, Tcpdump and Network Performance tools
Wireshark, Tcpdump and Network Performance toolsWireshark, Tcpdump and Network Performance tools
Wireshark, Tcpdump and Network Performance tools
 
Multi-Layer DDoS Mitigation Strategies
Multi-Layer DDoS Mitigation StrategiesMulti-Layer DDoS Mitigation Strategies
Multi-Layer DDoS Mitigation Strategies
 
Security Onion Advance
Security Onion AdvanceSecurity Onion Advance
Security Onion Advance
 
DPDK summit 2015: It's kind of fun to do the impossible with DPDK
DPDK summit 2015: It's kind of fun  to do the impossible with DPDKDPDK summit 2015: It's kind of fun  to do the impossible with DPDK
DPDK summit 2015: It's kind of fun to do the impossible with DPDK
 
DPDK Summit 2015 - NTT - Yoshihiro Nakajima
DPDK Summit 2015 - NTT - Yoshihiro NakajimaDPDK Summit 2015 - NTT - Yoshihiro Nakajima
DPDK Summit 2015 - NTT - Yoshihiro Nakajima
 
[Webinar Slides] Programming the Network Dataplane in P4
[Webinar Slides] Programming the Network Dataplane in P4[Webinar Slides] Programming the Network Dataplane in P4
[Webinar Slides] Programming the Network Dataplane in P4
 
Security defined routing_cybergamut_v1_1
Security defined routing_cybergamut_v1_1Security defined routing_cybergamut_v1_1
Security defined routing_cybergamut_v1_1
 
PLNOG 13: P. Kupisiewicz, O. Pelerin: Make IOS-XE Troubleshooting Easy – Pack...
PLNOG 13: P. Kupisiewicz, O. Pelerin: Make IOS-XE Troubleshooting Easy – Pack...PLNOG 13: P. Kupisiewicz, O. Pelerin: Make IOS-XE Troubleshooting Easy – Pack...
PLNOG 13: P. Kupisiewicz, O. Pelerin: Make IOS-XE Troubleshooting Easy – Pack...
 
FD.io - The Universal Dataplane
FD.io - The Universal DataplaneFD.io - The Universal Dataplane
FD.io - The Universal Dataplane
 
Brkdct 3101
Brkdct 3101Brkdct 3101
Brkdct 3101
 
Install FD.IO VPP On Intel(r) Architecture & Test with Trex*
Install FD.IO VPP On Intel(r) Architecture & Test with Trex*Install FD.IO VPP On Intel(r) Architecture & Test with Trex*
Install FD.IO VPP On Intel(r) Architecture & Test with Trex*
 
High perf-networking
High perf-networkingHigh perf-networking
High perf-networking
 
Snabbflow: A Scalable IPFIX exporter
Snabbflow: A Scalable IPFIX exporterSnabbflow: A Scalable IPFIX exporter
Snabbflow: A Scalable IPFIX exporter
 
SF-TAP: Scalable and Flexible Traffic Analysis Platform (USENIX LISA 2015)
SF-TAP: Scalable and Flexible Traffic Analysis Platform (USENIX LISA 2015)SF-TAP: Scalable and Flexible Traffic Analysis Platform (USENIX LISA 2015)
SF-TAP: Scalable and Flexible Traffic Analysis Platform (USENIX LISA 2015)
 
VMworld 2016: vSphere 6.x Host Resource Deep Dive
VMworld 2016: vSphere 6.x Host Resource Deep DiveVMworld 2016: vSphere 6.x Host Resource Deep Dive
VMworld 2016: vSphere 6.x Host Resource Deep Dive
 
Krzysztof Mazepa - Netflow/cflow - ulubionym narzędziem operatorów SP
Krzysztof Mazepa - Netflow/cflow - ulubionym narzędziem operatorów SPKrzysztof Mazepa - Netflow/cflow - ulubionym narzędziem operatorów SP
Krzysztof Mazepa - Netflow/cflow - ulubionym narzędziem operatorów SP
 
DPDK Summit - 08 Sept 2014 - NTT - High Performance vSwitch
DPDK Summit - 08 Sept 2014 - NTT - High Performance vSwitchDPDK Summit - 08 Sept 2014 - NTT - High Performance vSwitch
DPDK Summit - 08 Sept 2014 - NTT - High Performance vSwitch
 

Dernier

GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Software Coding for software engineering
Software Coding for software engineeringSoftware Coding for software engineering
Software Coding for software engineeringssuserb3a23b
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 

Dernier (20)

GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Software Coding for software engineering
Software Coding for software engineeringSoftware Coding for software engineering
Software Coding for software engineering
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 

The Next Generation Firewall for Red Hat Enterprise Linux 7 RC

  • 1. The Next Generation Firewall for Red Hat Enterprise Linux 7 RC Thomas Graf Red Hat
  • 2. Agenda ● FirewallD – Firewall Management as a Service ● Kernel – New Filtering Capabilities ● Nftables – A Look Ahead
  • 4. Existing Packet Filtering Architecture iptables Netfilter ip6tables ebtablesUser Land Kernel IPv4 IPv6 Bridge Protocol dependent packet filter and utilities
  • 5. IPv4 IPv6 Bridge FirewallD Application D-Bus User Interface Graphical CLI Firewall Management as a Service Reports D-Bus
  • 6. FirewallD – Policy Abstraction ZonePolicy
  • 7. • Default policy • Enabled services • Masquerading • Port forwarding • ICMP filter • Rich rules FirewallD – Zone Definition
  • 8. • Name • Description • Port range • Destination network/address • List of required kernel modules FirewallD – Service Definition <?xml version="1.0" encoding="utf-8"?> <service> <short>WWW (HTTP)</short> <description>[...]</description> <port protocol="tcp" port="80"/> </service>
  • 9. FirewallD – Graphical User Interface
  • 10. • Add interface “eth0” to zone “public” permanently: • List enabled services: # firewall-cmd --permanent --zone=internal --add-interface=eth0 # firewall-cmd --zone=public –list-services dhcpv6-client ipp ipp-client mdns ssh # FirewallD – Command Line Interface
  • 12. Scaling of Legacy Applications (xt_cpu) # iptables -t nat -A PREROUTING -p tcp --dport 80 -m cpu --cpu 0 -j REDIRECT --to-port 8080 # iptables -t nat -A PREROUTING -p tcp --dport 80 -m cpu --cpu 1 -j REDIRECT --to-port 8081 App instance #1 on 8080 RSS CPU 1 80 8080 REDIRECT App instance #2 on 8081CPU 2 80 8081 REDIRECT App instance #n on 808nCPU n 80 808n REDIRECT
  • 13. Connection Tracking target (xt_CT) • Disable connection tracking for DNS traffic (Replacement for NOTRACK target in RHEL6) • Define multiple zones to allow for conflicting flow identities # iptables -t raw -A PREROUTING -i eth0 -j CT --zone 10 # iptables -t raw -A PREROUTING -p udp --dport 53 -j CT --notrack # iptables -t raw -A OUTPUT -p udp --sport 53 -j CT --notrack
  • 14. Connection Tracking target (xt_CT) • Modify connection tracking timeout for TCP traffic # iptables -t raw -A PREROUTING -p tcp -j CT --timeout my-tcp-policy# nfct timeout add my-tcp-policy inet tcp established 100 close 10 close_wait 10 # iptables -t raw -A PREROUTING -p tcp -j CT --timeout my-tcp-policy
  • 15. IPv6 Connection Tracking & NAT • Available targets: • SNAT, DNAT, MASQUERADE, NETMAP, REDIRECT • Available Connection Tracking Helpers: • SIP, FTP, Amanda # ip6tables -t nat -A POSTROUTING -o eth0 -j SNAT --to 2001:aa::1
  • 16. CT Helpers in User Space • No need for kernel module to support (proprietary) protocols • Rapid development • Avoid complex string matching and mangling in kernel
  • 17. SYNPROXY (xt_SYNPROXY) • Protection against SYN flood attacks • Lightweight proxy for TCP three-way handshake # iptables -t raw -A PREROUTING -p tcp --dport 80 --syn -j CT --notrack # iptables -A INPUT -p tcp --dport 80 -m state UNTRACKED,INVALID -j SYNPROXY --sack-perm --timestamp --mss 1480 --wscale 7 –ecn
  • 18. Extended Accounting (xt_nfacct) • Kernel based meter providing packet and byte statistics • Avoids need to perform expensive rule set statistics polling # iptables -I INPUT -p tcp --sport 80 -m nfacct --nfacct-name http-traffic # nfacct-add http-traffic # nfacct-get http-traffic = { pkts = 000000008231, bytes = 000044932916 };
  • 19. Connection Labeling (xt_connlabel) • Label connection tracking entries with rule: • ... then match on labels: # iptables -A INPUT -m connlabel --label customer-bulk-traffic -m connlimit --connlimit-above 2 -j REJECT # iptables -A INPUT -i eth0 -m helper --helper ftp -m connlabel --label customer-bulk-traffic --set # iptables -A INPUT -i eth0 -p tcp --dport 22 -m connlabel --label customer-interactive --set
  • 20. •Matches if a reply to a packet would be sent via the incoming interface •Drop packets that failed reverse path filtering: • Identical in functionality as net.ipv4.conf.all.rp_filter = 1 Reverse Path Filtering (xt_rpfilter) # iptables -t raw -A PREROUTING -m rpfilter --invert -j DROP
  • 21. Berkley Packet Filter (xt_bpf) • Match packets based Berkley Packet Filter (BPF) filters • Use tcpdump to generate the bytecode: # iptables -A OUTPUT -m bpf --bytecode "8,40 0 0 12,21 1 0 [...]" -j ACCEPT # tcpdump -ddd vlan 20 and dst port 22 | tr 'n' ',' 26,40 0 0 12,21 1 0 33024,21 0 22 37120 [...]
  • 22. New ipset Features • Automatic range to subnets translations (IPv4 only) • Exceptions in sets: # ipset new test hash:net # [...] # ipset add test 10.2.0.10/32 nomatch # ipset new test hash:net # ipset add test 10.1.0.0-10.3.49.2
  • 23. IDLETIMER target (xt_IDLETIMER) • Define timers and restart them via rules • Example Usage: •Detect idle interfaces and put them in power safe mode # iptables -A OUTPUT -o eth0 -j IDLETIMER --timeout 5 --label foo # cat /sys/class/xt_idletimer/timers/foo 4 [...] # cat /sys/class/xt_idletimer/timers/foo 0
  • 24. TEE target (xt_TEE) • Clone & send packet to local machine for logging # iptables -t mangle -A PREROUTING -i eth0 -j TEE --gateway 2001:db8::1
  • 25. NFQUEUE performance optimizations • Zero copy Netlink to user space • CPU Fanout: CPU # selects queue #: # iptables -A INPUT -i eth0 -j NFQUEUE --queue-balance 0:31 --queue-cpu-fanout # iptables -A INPUT -j NFQUEUE --queue-num 3
  • 26. Generic Address Type Filter (xt_addrtype) • Match type of source and/or destination address: # ip6tables -A INPUT -m addrtype --dst-type MULTICAST -j DROP # ip6tables -A OUTPUT -m addrtype ! --src-type LOCAL -j REJECT
  • 28. nftables – State Machine Based Packet Filtering • New packet filtering subsystem to replace {ip,ip6,arp,eb}tables • Byte code execution in kernel pseudo state machine • Unified interface nft to replace protocol aware utilities User space ACL Kernel Byte Code Byte Code Byte Code nft
  • 29. nftables – Features Summary • Heavy code reduction in kernel, minimal protocol awareness • No kernel change required to support new protocols • Incremental updates • Byte code can be optimized and offloaded • Efficient rule execution and storage • Fast lookups through data structures (e.g. hash tables) • Improved error handling
  • 30. nftables – Want to try it out? • Included in RHEL7.0 RC2 kernel (Tech Preview) • Userspace packages likely included in future minor release • Fetch them from upstream to get testing •libmnl, libnfnl, nftables
  • 33. Explicit Congestion Notification (xt_ecn) • Match ECN bits on IPv4/IPv6 and TCP header (RFC3168): # iptables -A INPUT -i eth1 -m ecn ! --ecn-tcp-cwr -j REJECT
  • 34. Compat Support • Run 32bit iptables on 64bit kernel
  • 35. Match on IPVS properties • Combine full NAT functionality with IPVS properties: # iptables -t nat -A POSTROUTING -m ipvs --vaddr 192.168.100.30/32 --vport http -j SNAT [...]