<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/">
	<channel>
		<title>Iptables on sudoscience</title>
		<link>https://sudoscience.de/tags/iptables/</link>
		<description>Recent content in Iptables on sudoscience</description>
		<generator>Hugo -- 0.162.1</generator>
		<language>de-DE</language>
		<copyright>Vanderley Industries</copyright>
		<lastBuildDate>Mon, 30 Mar 2026 00:00:00 +0000</lastBuildDate>
		<atom:link href="https://sudoscience.de/tags/iptables/index.xml" rel="self" type="application/rss+xml" />
		
		
		<item>
			<title>Iptables-Script IPv4</title>
			<link>https://sudoscience.de/posts/iptables_ipv4/</link>
			<pubDate>Mon, 30 Mar 2026 00:00:00 +0000</pubDate><author>Art Vanderley</author><guid>https://sudoscience.de/posts/iptables_ipv4/</guid>
			<description><![CDATA[Einfaches Stateful-Firewall-Script mit Iptables als Teil der Endpoint-Security für Linux-Server.]]></description><content type="text/html" mode="escaped"><![CDATA[<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="cp">#!/usr/bin/env bash
</span></span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 1. Clear current configuration</span>
</span></span><span class="line"><span class="cl">iptables -F
</span></span><span class="line"><span class="cl">iptables -X
</span></span><span class="line"><span class="cl">iptables -Z
</span></span><span class="line"><span class="cl">iptables -Z -t nat
</span></span><span class="line"><span class="cl">iptables -t nat -F
</span></span><span class="line"><span class="cl">iptables -t nat -X
</span></span><span class="line"><span class="cl">iptables -t mangle -F
</span></span><span class="line"><span class="cl">iptables -t mangle -X
</span></span><span class="line"><span class="cl">iptables -t raw -F
</span></span><span class="line"><span class="cl">iptables -t raw -X
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 2. Create chains.</span>
</span></span><span class="line"><span class="cl">iptables -N TCP
</span></span><span class="line"><span class="cl">iptables -N UDP
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 3. Set default policy.</span>
</span></span><span class="line"><span class="cl">iptables -P INPUT DROP
</span></span><span class="line"><span class="cl">iptables -P FORWARD DROP
</span></span><span class="line"><span class="cl">iptables -P OUTPUT ACCEPT
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 4. Standard rules.</span>
</span></span><span class="line"><span class="cl">iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
</span></span><span class="line"><span class="cl">iptables -A INPUT -i lo -j ACCEPT
</span></span><span class="line"><span class="cl">iptables -A INPUT -m conntrack --ctstate INVALID -j DROP
</span></span><span class="line"><span class="cl">iptables -A INPUT -p icmp -m icmp --icmp-type <span class="m">8</span> -m conntrack --ctstate NEW -j ACCEPT
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 5. Dispatch new connections chains.</span>
</span></span><span class="line"><span class="cl">iptables -A INPUT -p udp -m conntrack --ctstate NEW -j UDP
</span></span><span class="line"><span class="cl">iptables -A INPUT -p tcp --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j TCP
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 6. Allow inbound TCP traffic.</span>
</span></span><span class="line"><span class="cl"><span class="c1"># iptables -A TCP -p tcp --dport 22 -j ACCEPT</span>
</span></span><span class="line"><span class="cl"><span class="c1"># iptables -A TCP -p tcp --dport 53 -j ACCEPT</span>
</span></span><span class="line"><span class="cl"><span class="c1"># iptables -A TCP -p tcp --dport 80 -j ACCEPT</span>
</span></span><span class="line"><span class="cl"><span class="c1"># iptables -A TCP -p tcp --dport 139 -j ACCEPT</span>
</span></span><span class="line"><span class="cl"><span class="c1"># iptables -A TCP -p tcp --dport 443 -j ACCEPT</span>
</span></span><span class="line"><span class="cl"><span class="c1"># iptables -A TCP -p tcp --dport 445 -j ACCEPT</span>
</span></span><span class="line"><span class="cl"><span class="c1"># iptables -A TCP -p tcp --dport 1081 -j ACCEPT</span>
</span></span><span class="line"><span class="cl"><span class="c1"># iptables -A TCP -p tcp --dport 3128 -j ACCEPT</span>
</span></span><span class="line"><span class="cl"><span class="c1"># iptables -A TCP -p tcp --dport 8118 -j ACCEPT</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 7. Allow inbound UDP traffic.</span>
</span></span><span class="line"><span class="cl"><span class="c1"># iptables -A UDP_$IF1 -p udp --dport 53 -j ACCEPT</span>
</span></span><span class="line"><span class="cl"><span class="c1"># iptables -A UDP_$IF1 -p udp --dport 137 -j ACCEPT</span>
</span></span><span class="line"><span class="cl"><span class="c1"># iptables -A UDP_$IF1 -p udp --dport 138 -j ACCEPT</span>
</span></span><span class="line"><span class="cl"><span class="c1"># iptables -A UDP_$IF1 -p udp --dport 139 -j ACCEPT</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 10. Reject/Log everything else.</span>
</span></span><span class="line"><span class="cl">iptables -A INPUT -p udp -j LOG --log-prefix <span class="s2">&#34;[iptables_ipv4_udp]: &#34;</span> --log-level <span class="m">7</span> --log-uid
</span></span><span class="line"><span class="cl">iptables -A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable
</span></span><span class="line"><span class="cl">iptables -A INPUT -p tcp -j LOG --log-prefix <span class="s2">&#34;[iptables_ipv4_tcp]: &#34;</span> --log-level <span class="m">7</span> --log-uid
</span></span><span class="line"><span class="cl">iptables -A INPUT -p tcp -j REJECT --reject-with tcp-reset
</span></span><span class="line"><span class="cl">iptables -A INPUT -j LOG --log-prefix <span class="s2">&#34;[iptables_ipv4]: &#34;</span> --log-level <span class="m">7</span> --log-uid
</span></span><span class="line"><span class="cl">iptables -A INPUT -j REJECT --reject-with icmp-proto-unreachable
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 11. Persist rules.</span>
</span></span><span class="line"><span class="cl">mkdir -p /etc/iptables
</span></span><span class="line"><span class="cl">iptables-save &gt; /etc/iptables/rules.v4
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 12. Display info in terminal.</span>
</span></span><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s2">&#34;&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s2">&#34;[IPv4] packets will be FILTERED.&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s2">&#34;&#34;</span>
</span></span></code></pre></div>]]></content>
		</item>
		
		<item>
			<title>Iptables-Script IPv6</title>
			<link>https://sudoscience.de/posts/iptables_ipv6/</link>
			<pubDate>Sun, 29 Mar 2026 00:00:00 +0000</pubDate><author>Art Vanderley</author><guid>https://sudoscience.de/posts/iptables_ipv6/</guid>
			<description><![CDATA[Einfaches Stateful-Firewall-Script mit Iptables als Teil der Endpoint-Security für Linux-Server.]]></description><content type="text/html" mode="escaped"><![CDATA[<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="cp">#!/usr/bin/env bash
</span></span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 1. Clear current configuration.</span>
</span></span><span class="line"><span class="cl">ip6tables -F
</span></span><span class="line"><span class="cl">ip6tables -F -t nat
</span></span><span class="line"><span class="cl">ip6tables -X
</span></span><span class="line"><span class="cl">ip6tables -Z
</span></span><span class="line"><span class="cl">ip6tables -Z -t nat
</span></span><span class="line"><span class="cl">ip6tables -t nat -F
</span></span><span class="line"><span class="cl">ip6tables -t nat -X
</span></span><span class="line"><span class="cl">ip6tables -t mangle -F
</span></span><span class="line"><span class="cl">ip6tables -t mangle -X
</span></span><span class="line"><span class="cl">ip6tables -t raw -F
</span></span><span class="line"><span class="cl">ip6tables -t raw -X
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 2. Create chains.</span>
</span></span><span class="line"><span class="cl">ip6tables -N TCP
</span></span><span class="line"><span class="cl">ip6tables -N UDP
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 3. Set default policy.</span>
</span></span><span class="line"><span class="cl">ip6tables -P INPUT DROP
</span></span><span class="line"><span class="cl">ip6tables -P FORWARD DROP
</span></span><span class="line"><span class="cl">ip6tables -P OUTPUT ACCEPT
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 4. Standard rules.</span>
</span></span><span class="line"><span class="cl">ip6tables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
</span></span><span class="line"><span class="cl">ip6tables -A INPUT -i lo -j ACCEPT
</span></span><span class="line"><span class="cl">ip6tables -A INPUT -m conntrack --ctstate INVALID -j DROP
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># Rules for ICMPv6 und DHCPv6.</span>
</span></span><span class="line"><span class="cl">ip6tables -A INPUT -s fe80::/10 -p ipv6-icmp -j ACCEPT
</span></span><span class="line"><span class="cl">ip6tables -A INPUT -p udp --sport <span class="m">547</span> --dport <span class="m">546</span> -j ACCEPT
</span></span><span class="line"><span class="cl">ip6tables -A INPUT -p ipv6-icmp -m icmp6 --icmpv6-type <span class="m">128</span> -m conntrack --ctstate NEW -j ACCEPT
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 5. Dispatch new connections to chains.</span>
</span></span><span class="line"><span class="cl">ip6tables -A INPUT -p tcp --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j TCP
</span></span><span class="line"><span class="cl">ip6tables -A INPUT -p udp -m conntrack --ctstate NEW -j UDP
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 6. Allow inbound TCP traffic.</span>
</span></span><span class="line"><span class="cl"><span class="c1"># ip6tables -A TCP -p tcp --dport 22 -j ACCEPT</span>
</span></span><span class="line"><span class="cl"><span class="c1"># ip6tables -A TCP -p tcp --dport 80 -j ACCEPT</span>
</span></span><span class="line"><span class="cl"><span class="c1"># ip6tables -A TCP -p tcp --dport 139 -j ACCEPT</span>
</span></span><span class="line"><span class="cl"><span class="c1"># ip6tables -A TCP -p tcp --dport 443 -j ACCEPT</span>
</span></span><span class="line"><span class="cl"><span class="c1"># ip6tables -A TCP -p tcp --dport 445 -j ACCEPT</span>
</span></span><span class="line"><span class="cl"><span class="c1"># ip6tables -A TCP -p tcp --dport 1081 -j ACCEPT</span>
</span></span><span class="line"><span class="cl"><span class="c1"># ip6tables -A TCP -p tcp --dport 3128 -j ACCEPT</span>
</span></span><span class="line"><span class="cl"><span class="c1"># ip6tables -A TCP -p tcp --dport 8118 -j ACCEPT</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 8. Allow inbound UDP traffic.</span>
</span></span><span class="line"><span class="cl"><span class="c1"># ip6tables -A UDP -p udp --dport 53 -j ACCEPT</span>
</span></span><span class="line"><span class="cl"><span class="c1"># ip6tables -A UDP -p udp --dport 138 -j ACCEPT</span>
</span></span><span class="line"><span class="cl"><span class="c1"># ip6tables -A UDP -p udp --dport 138 -j ACCEPT</span>
</span></span><span class="line"><span class="cl"><span class="c1"># ip6tables -A UDP -p udp --dport 139 -j ACCEPT</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 8. Reject/Log everything else.</span>
</span></span><span class="line"><span class="cl">ip6tables -A INPUT -p udp -j LOG --log-prefix <span class="s2">&#34;[iptables_ipv6_udp]: &#34;</span> --log-level <span class="m">7</span> --log-uid
</span></span><span class="line"><span class="cl">ip6tables -A INPUT -p udp -j REJECT --reject-with icmp6-adm-prohibited
</span></span><span class="line"><span class="cl">ip6tables -A INPUT -p tcp -j LOG --log-prefix <span class="s2">&#34;[iptables_ipv6_tcp]: &#34;</span> --log-level <span class="m">7</span> --log-uid
</span></span><span class="line"><span class="cl">ip6tables -A INPUT -p tcp -j REJECT --reject-with tcp-reset
</span></span><span class="line"><span class="cl">ip6tables -A INPUT -j LOG --log-prefix <span class="s2">&#34;[iptables_ipv6]: &#34;</span> --log-level <span class="m">7</span> --log-uid
</span></span><span class="line"><span class="cl">ip6tables -A INPUT -j REJECT --reject-with icmp6-adm-prohibited
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 9. Persist rules.</span>
</span></span><span class="line"><span class="cl">mkdir -p /etc/iptables
</span></span><span class="line"><span class="cl">ip6tables-save &gt; /etc/iptables/rules.v6
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 10. Display info in terminal.</span>
</span></span><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s2">&#34;&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s2">&#34;[IPv6] packets will be FILTERED.&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s2">&#34;&#34;</span>
</span></span></code></pre></div>]]></content>
		</item>
		
	</channel>
</rss>
