<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.nathael.net/index.php?action=history&amp;feed=atom&amp;title=Dev%2FHost%2FFirewall</id>
	<title>Dev/Host/Firewall - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.nathael.net/index.php?action=history&amp;feed=atom&amp;title=Dev%2FHost%2FFirewall"/>
	<link rel="alternate" type="text/html" href="http://wiki.nathael.net/index.php?title=Dev/Host/Firewall&amp;action=history"/>
	<updated>2026-04-16T15:59:10Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>http://wiki.nathael.net/index.php?title=Dev/Host/Firewall&amp;diff=172&amp;oldid=prev</id>
		<title>Drizzt: Created page with &quot;== Principe ==  == Entête du script ==  ### BEGIN INIT INFO  # Provides:     firewall  # Required-Start:   $remote_fs $syslog  # Required-Stop:    $remote_fs $syslog  # Default-Start:    2 3 4 5  # Default-Stop:       # Short-Description:    Personnal iptables setup  ### END INIT INFO  == Structure ==   #! /bin/sh  ### Add init info here ###    PATH=/sbin:/bin  ### Add &quot;includes&quot; (sourced scripts) ###    do_start () {    ### Add &quot;start&quot; content here ###    echo &quot;Firewal...&quot;</title>
		<link rel="alternate" type="text/html" href="http://wiki.nathael.net/index.php?title=Dev/Host/Firewall&amp;diff=172&amp;oldid=prev"/>
		<updated>2024-12-05T12:18:24Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;== Principe ==  == Entête du script ==  ### BEGIN INIT INFO  # Provides:     firewall  # Required-Start:   $remote_fs $syslog  # Required-Stop:    $remote_fs $syslog  # Default-Start:    2 3 4 5  # Default-Stop:       # Short-Description:    Personnal iptables setup  ### END INIT INFO  == Structure ==   #! /bin/sh  ### Add init info here ###    PATH=/sbin:/bin  ### Add &amp;quot;includes&amp;quot; (sourced scripts) ###    do_start () {    ### Add &amp;quot;start&amp;quot; content here ###    echo &amp;quot;Firewal...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Principe ==&lt;br /&gt;
&lt;br /&gt;
== Entête du script ==&lt;br /&gt;
 ### BEGIN INIT INFO&lt;br /&gt;
 # Provides:     firewall&lt;br /&gt;
 # Required-Start:   $remote_fs $syslog&lt;br /&gt;
 # Required-Stop:    $remote_fs $syslog&lt;br /&gt;
 # Default-Start:    2 3 4 5&lt;br /&gt;
 # Default-Stop:     &lt;br /&gt;
 # Short-Description:    Personnal iptables setup&lt;br /&gt;
 ### END INIT INFO&lt;br /&gt;
&lt;br /&gt;
== Structure == &lt;br /&gt;
 #! /bin/sh&lt;br /&gt;
 ### Add init info here ###&lt;br /&gt;
 &lt;br /&gt;
 PATH=/sbin:/bin&lt;br /&gt;
 ### Add &amp;quot;includes&amp;quot; (sourced scripts) ###&lt;br /&gt;
 &lt;br /&gt;
 do_start () {&lt;br /&gt;
   ### Add &amp;quot;start&amp;quot; content here ###&lt;br /&gt;
   echo &amp;quot;Firewall configured.&amp;quot;&lt;br /&gt;
   exit&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 case &amp;quot;$1&amp;quot; in&lt;br /&gt;
  start|&amp;quot;&amp;quot;|restart|reload|force-reload)&lt;br /&gt;
    do_start&lt;br /&gt;
    ;;&lt;br /&gt;
  stop)&lt;br /&gt;
    # No-op&lt;br /&gt;
    ;;&lt;br /&gt;
  *)&lt;br /&gt;
    echo &amp;quot;Usage: $0 [start|stop]&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 3&lt;br /&gt;
    ;;&lt;br /&gt;
 esac&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== IPv4 : bases ==&lt;br /&gt;
    # IPv4 security&lt;br /&gt;
    iptables -F&lt;br /&gt;
    iptables -X&lt;br /&gt;
    iptables -t nat -F&lt;br /&gt;
    iptables -t nat -X&lt;br /&gt;
    iptables -P INPUT DROP&lt;br /&gt;
    iptables -P FORWARD ACCEPT&lt;br /&gt;
    iptables -P OUTPUT ACCEPT&lt;br /&gt;
    iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT&lt;br /&gt;
    iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
== IPv6 : bases ==&lt;br /&gt;
    # IPv6 security&lt;br /&gt;
    ip6tables -F&lt;br /&gt;
    ip6tables -X&lt;br /&gt;
    ip6tables -P INPUT DROP&lt;br /&gt;
    ip6tables -P FORWARD ACCEPT&lt;br /&gt;
    ip6tables -P OUTPUT ACCEPT&lt;br /&gt;
    ip6tables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT&lt;br /&gt;
    ip6tables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
== More configuration ==&lt;br /&gt;
=== Allow everything on localhost ===&lt;br /&gt;
    iptables -I INPUT -i lo -j ACCEPT&lt;br /&gt;
    iptables -I OUTPUT -o lo -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
=== Allow Ping ===&lt;br /&gt;
    iptables -A INPUT -p icmp -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
=== Need SSH access ? ===&lt;br /&gt;
    iptables -A INPUT -p tcp --dport 22 -d 192.168.1.2/32 -j ACCEPT&lt;br /&gt;
(Change port and IP address according to your needs)&lt;br /&gt;
&lt;br /&gt;
=== IPv4 NAT ===&lt;br /&gt;
    echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
    iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE&lt;br /&gt;
    iptables -t nat -A POSTROUTING -o eth4 -j MASQUERADE&lt;br /&gt;
&lt;br /&gt;
And add NAT redirections&lt;br /&gt;
    # Web : to local web server&lt;br /&gt;
    iptables -t nat -A PREROUTING -i eth1 -p tcp --dport http -j DNAT --to 192.168.2.6:80&lt;/div&gt;</summary>
		<author><name>Drizzt</name></author>
	</entry>
</feed>