Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
linux_router:netfilter [2024-06-23 Sun wk25 09:05] – [IPTables Tables and Chains] baumkp | linux_router:netfilter [2024-06-23 Sun wk25 09:11] (current) – baumkp | ||
---|---|---|---|
Line 46: | Line 46: | ||
| | ||
</ | </ | ||
+ | |||
+ | |||
+ | =====IPTables and Netfilter===== | ||
+ | The following is taken from Digitalocean [[https:// | ||
+ | |||
+ | ++++ tldr| | ||
====IPTables Tables and Chains==== | ====IPTables Tables and Chains==== | ||
Line 66: | Line 72: | ||
====Which Tables are Available? | ====Which Tables are Available? | ||
- | Let’s step back for a moment and take a look at the different tables that iptables provides. These represent distinct sets of rules, organized by area of concern, for evaluating packets. | + | Let’s step back for a moment and take a look at the different tables that '' |
===The Filter Table=== | ===The Filter Table=== | ||
+ | The filter table is one of the most widely used tables in '' | ||
- | The filter table is one of the most widely used tables in iptables. The filter table is used to make decisions about whether to let a packet continue to its intended destination or to deny its request. In firewall parlance, this is known as “filtering” packets. This table provides the bulk of functionality that people think of when discussing firewalls. | ||
===The NAT Table=== | ===The NAT Table=== | ||
+ | The '' | ||
- | The nat table is used to implement network address translation rules. As packets enter the network stack, rules in this table will determine whether and how to modify the packet’s source or destination addresses in order to impact the way that the packet and any response traffic are routed. This is often used to route packets to networks when direct access is not possible. | ||
===The Mangle Table=== | ===The Mangle Table=== | ||
- | The mangle table is used to alter the IP headers of the packet in various ways. For instance, you can adjust the TTL (Time to Live) value of a packet, either lengthening or shortening the number of valid network hops the packet can sustain. Other IP headers can be altered in similar ways. | + | The '' |
This table can also place an internal kernel “mark” on the packet for further processing in other tables and by other networking tools. This mark does not touch the actual packet, but adds the mark to the kernel’s representation of the packet. | This table can also place an internal kernel “mark” on the packet for further processing in other tables and by other networking tools. This mark does not touch the actual packet, but adds the mark to the kernel’s representation of the packet. | ||
+ | |||
===The Raw Table=== | ===The Raw Table=== | ||
+ | The '' | ||
- | The iptables firewall | + | The '' |
- | The raw table has a very narrowly defined function. Its only purpose is to provide a mechanism for marking packets in order to opt-out of connection tracking. | ||
===The Security Table=== | ===The Security Table=== | ||
- | + | The '' | |
- | The security table is used to set internal SELinux security context marks on packets, which will affect how SELinux or other systems that can interpret SELinux security contexts handle the packets. These marks can be applied on a per-packet or per-connection basis. | + | |
====Relationships Between Chains and Tables==== | ====Relationships Between Chains and Tables==== | ||
Line 138: | Line 145: | ||
The states tracked in the connection tracking system allow administrators to craft rules that target specific points in a connection’s lifetime. This provides the functionality needed for more thorough and secure rules. | The states tracked in the connection tracking system allow administrators to craft rules that target specific points in a connection’s lifetime. This provides the functionality needed for more thorough and secure rules. | ||
+ | ++++ | ||
====Some references==== | ====Some references==== |