SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Downloaden Sie, um offline zu lesen
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 [...]

Weitere ähnliche Inhalte

Was ist angesagt?

eBPF - Rethinking the Linux Kernel
eBPF - Rethinking the Linux KerneleBPF - Rethinking the Linux Kernel
eBPF - Rethinking the Linux KernelThomas Graf
 
Introduction to eBPF and XDP
Introduction to eBPF and XDPIntroduction to eBPF and XDP
Introduction to eBPF and XDPlcplcp1
 
Tutorial: Using GoBGP as an IXP connecting router
Tutorial: Using GoBGP as an IXP connecting routerTutorial: Using GoBGP as an IXP connecting router
Tutorial: Using GoBGP as an IXP connecting routerShu Sugimoto
 
Replacing iptables with eBPF in Kubernetes with Cilium
Replacing iptables with eBPF in Kubernetes with CiliumReplacing iptables with eBPF in Kubernetes with Cilium
Replacing iptables with eBPF in Kubernetes with CiliumMichal Rostecki
 
DevConf 2014 Kernel Networking Walkthrough
DevConf 2014   Kernel Networking WalkthroughDevConf 2014   Kernel Networking Walkthrough
DevConf 2014 Kernel Networking WalkthroughThomas Graf
 
Cilium - Network and Application Security with BPF and XDP Thomas Graf, Cova...
Cilium - Network and Application Security with BPF and XDP  Thomas Graf, Cova...Cilium - Network and Application Security with BPF and XDP  Thomas Graf, Cova...
Cilium - Network and Application Security with BPF and XDP Thomas Graf, Cova...Docker, Inc.
 
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
 
Vxlan deep dive session rev0.5 final
Vxlan deep dive session rev0.5   finalVxlan deep dive session rev0.5   final
Vxlan deep dive session rev0.5 finalKwonSun Bae
 
netfilter and iptables
netfilter and iptablesnetfilter and iptables
netfilter and iptablesKernel TLV
 
Cisco Live! :: Introduction to Segment Routing :: BRKRST-2124 | Las Vegas 2017
Cisco Live! :: Introduction to Segment Routing :: BRKRST-2124  | Las Vegas 2017Cisco Live! :: Introduction to Segment Routing :: BRKRST-2124  | Las Vegas 2017
Cisco Live! :: Introduction to Segment Routing :: BRKRST-2124 | Las Vegas 2017Bruno Teixeira
 
Security Monitoring with eBPF
Security Monitoring with eBPFSecurity Monitoring with eBPF
Security Monitoring with eBPFAlex Maestretti
 
A 30-minute Introduction to NETCONF and YANG
A 30-minute Introduction to NETCONF and YANGA 30-minute Introduction to NETCONF and YANG
A 30-minute Introduction to NETCONF and YANGTail-f Systems
 
Xdp and ebpf_maps
Xdp and ebpf_mapsXdp and ebpf_maps
Xdp and ebpf_mapslcplcp1
 
Traffic Engineering Using Segment Routing
Traffic Engineering Using Segment Routing Traffic Engineering Using Segment Routing
Traffic Engineering Using Segment Routing Cisco Canada
 
Intel DPDK Step by Step instructions
Intel DPDK Step by Step instructionsIntel DPDK Step by Step instructions
Intel DPDK Step by Step instructionsHisaki Ohara
 
DoS and DDoS mitigations with eBPF, XDP and DPDK
DoS and DDoS mitigations with eBPF, XDP and DPDKDoS and DDoS mitigations with eBPF, XDP and DPDK
DoS and DDoS mitigations with eBPF, XDP and DPDKMarian Marinov
 

Was ist angesagt? (20)

eBPF - Rethinking the Linux Kernel
eBPF - Rethinking the Linux KerneleBPF - Rethinking the Linux Kernel
eBPF - Rethinking the Linux Kernel
 
Introduction to eBPF and XDP
Introduction to eBPF and XDPIntroduction to eBPF and XDP
Introduction to eBPF and XDP
 
Tutorial: Using GoBGP as an IXP connecting router
Tutorial: Using GoBGP as an IXP connecting routerTutorial: Using GoBGP as an IXP connecting router
Tutorial: Using GoBGP as an IXP connecting router
 
Replacing iptables with eBPF in Kubernetes with Cilium
Replacing iptables with eBPF in Kubernetes with CiliumReplacing iptables with eBPF in Kubernetes with Cilium
Replacing iptables with eBPF in Kubernetes with Cilium
 
DevConf 2014 Kernel Networking Walkthrough
DevConf 2014   Kernel Networking WalkthroughDevConf 2014   Kernel Networking Walkthrough
DevConf 2014 Kernel Networking Walkthrough
 
Cilium - Network and Application Security with BPF and XDP Thomas Graf, Cova...
Cilium - Network and Application Security with BPF and XDP  Thomas Graf, Cova...Cilium - Network and Application Security with BPF and XDP  Thomas Graf, Cova...
Cilium - Network and Application Security with BPF and XDP Thomas Graf, Cova...
 
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)
 
Vxlan deep dive session rev0.5 final
Vxlan deep dive session rev0.5   finalVxlan deep dive session rev0.5   final
Vxlan deep dive session rev0.5 final
 
Linux Network Stack
Linux Network StackLinux Network Stack
Linux Network Stack
 
eBPF Basics
eBPF BasicseBPF Basics
eBPF Basics
 
netfilter and iptables
netfilter and iptablesnetfilter and iptables
netfilter and iptables
 
Cisco Live! :: Introduction to Segment Routing :: BRKRST-2124 | Las Vegas 2017
Cisco Live! :: Introduction to Segment Routing :: BRKRST-2124  | Las Vegas 2017Cisco Live! :: Introduction to Segment Routing :: BRKRST-2124  | Las Vegas 2017
Cisco Live! :: Introduction to Segment Routing :: BRKRST-2124 | Las Vegas 2017
 
Security Monitoring with eBPF
Security Monitoring with eBPFSecurity Monitoring with eBPF
Security Monitoring with eBPF
 
A 30-minute Introduction to NETCONF and YANG
A 30-minute Introduction to NETCONF and YANGA 30-minute Introduction to NETCONF and YANG
A 30-minute Introduction to NETCONF and YANG
 
Xdp and ebpf_maps
Xdp and ebpf_mapsXdp and ebpf_maps
Xdp and ebpf_maps
 
Traffic Engineering Using Segment Routing
Traffic Engineering Using Segment Routing Traffic Engineering Using Segment Routing
Traffic Engineering Using Segment Routing
 
Intel DPDK Step by Step instructions
Intel DPDK Step by Step instructionsIntel DPDK Step by Step instructions
Intel DPDK Step by Step instructions
 
Tail f - Why ConfD
Tail f - Why ConfDTail f - Why ConfD
Tail f - Why ConfD
 
eBPF/XDP
eBPF/XDP eBPF/XDP
eBPF/XDP
 
DoS and DDoS mitigations with eBPF, XDP and DPDK
DoS and DDoS mitigations with eBPF, XDP and DPDKDoS and DDoS mitigations with eBPF, XDP and DPDK
DoS and DDoS mitigations with eBPF, XDP and DPDK
 

Andere mochten auch

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
 
Cilium - Fast IPv6 Container Networking with BPF and XDP
Cilium - Fast IPv6 Container Networking with BPF and XDPCilium - Fast IPv6 Container Networking with BPF and XDP
Cilium - Fast IPv6 Container Networking with BPF and XDPThomas 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
 
Linux Networking Explained
Linux Networking ExplainedLinux Networking Explained
Linux Networking ExplainedThomas 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
 
nftables - the evolution of Linux Firewall
nftables - the evolution of Linux Firewallnftables - the evolution of Linux Firewall
nftables - the evolution of Linux FirewallMarian Marinov
 
Webinar-Linux Networking is Awesome
Webinar-Linux Networking is AwesomeWebinar-Linux Networking is Awesome
Webinar-Linux Networking is AwesomeCumulus Networks
 

Andere mochten auch (18)

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
 
Cilium - Fast IPv6 Container Networking with BPF and XDP
Cilium - Fast IPv6 Container Networking with BPF and XDPCilium - Fast IPv6 Container Networking with BPF and XDP
Cilium - Fast IPv6 Container Networking with BPF and XDP
 
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
 
Linux Networking Explained
Linux Networking ExplainedLinux Networking Explained
Linux Networking Explained
 
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
 
nftables - the evolution of Linux Firewall
nftables - the evolution of Linux Firewallnftables - the evolution of Linux Firewall
nftables - the evolution of Linux Firewall
 
Webinar-Linux Networking is Awesome
Webinar-Linux Networking is AwesomeWebinar-Linux Networking is Awesome
Webinar-Linux Networking is Awesome
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Kürzlich hochgeladen

Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...Akihiro Suda
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
How To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTROHow To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTROmotivationalword821
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
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
 
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
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 

Kürzlich hochgeladen (20)

Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
How To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTROHow To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTRO
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
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...
 
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
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 

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 [...]