<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.slackwiki.com/index.php?action=history&amp;feed=atom&amp;title=Dadexter_iptables</id>
	<title>Dadexter iptables - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.slackwiki.com/index.php?action=history&amp;feed=atom&amp;title=Dadexter_iptables"/>
	<link rel="alternate" type="text/html" href="https://www.slackwiki.com/index.php?title=Dadexter_iptables&amp;action=history"/>
	<updated>2026-04-08T17:44:05Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://www.slackwiki.com/index.php?title=Dadexter_iptables&amp;diff=104&amp;oldid=prev</id>
		<title>Erik: Copy from old</title>
		<link rel="alternate" type="text/html" href="https://www.slackwiki.com/index.php?title=Dadexter_iptables&amp;diff=104&amp;oldid=prev"/>
		<updated>2009-06-03T02:07:25Z</updated>

		<summary type="html">&lt;p&gt;Copy from old&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;* Script is based on another one I got here&lt;br /&gt;
* allows connections to port 443 for web services&lt;br /&gt;
* allows connections to port 8080 for ssh access&lt;br /&gt;
* allows connections to port 8000 and 2323 for misc services (usually off anyway)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    #!/bin/sh&lt;br /&gt;
    &lt;br /&gt;
    # This is a very basic LAN NAT script, allowing only SSH to the firewall from&lt;br /&gt;
    # the external interface, allowing all outbound LAN traffic, and allowing only&lt;br /&gt;
    # established/related traffic back into the LAN.&lt;br /&gt;
    #&lt;br /&gt;
    # eth1 = external NIC (ISP)&lt;br /&gt;
    # eth0 = internal NIC (LAN)&lt;br /&gt;
    #&lt;br /&gt;
    # allows connections to port 443 for web services&lt;br /&gt;
    # allows connections to port 8080 for ssh access&lt;br /&gt;
    # allows connections to port 2323 and 8000 for internal forwarding, and shoutcast&lt;br /&gt;
    &lt;br /&gt;
    ipt=/usr/sbin/iptables&lt;br /&gt;
    extip=66.130.x.x # replace with your EXTERNAL IP - eth1&lt;br /&gt;
    lan=192.168.100.0/25 # your LAN CIDR range - eth0&lt;br /&gt;
    &lt;br /&gt;
    # start firewall&lt;br /&gt;
    start_firewall() {&lt;br /&gt;
    &lt;br /&gt;
      echo &amp;quot;Enabling IP forwarding.&amp;quot;&lt;br /&gt;
      echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
    &lt;br /&gt;
      echo &amp;quot;Enabling iptables firewall.&amp;quot;&lt;br /&gt;
      # default policies&lt;br /&gt;
      $ipt -P INPUT DROP&lt;br /&gt;
      $ipt -P FORWARD DROP&lt;br /&gt;
    &lt;br /&gt;
      # NAT&lt;br /&gt;
      $ipt -t nat -A POSTROUTING -o eth1 -j SNAT --to-source $extip&lt;br /&gt;
    &lt;br /&gt;
      # INPUT chain&lt;br /&gt;
      $ipt -A INPUT -i lo -j ACCEPT&lt;br /&gt;
      $ipt -A INPUT -i eth0 -s $lan -j ACCEPT&lt;br /&gt;
      $ipt -A INPUT -i eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
      $ipt -A INPUT -p tcp --destination-port 8080 -j ACCEPT&lt;br /&gt;
      $ipt -A INPUT -p tcp --destination-port 443 -j ACCEPT&lt;br /&gt;
      $ipt -A INPUT -p tcp --destination-port 8000 -j ACCEPT&lt;br /&gt;
      $ipt -A INPUT -p tcp --destination-port 2323 -j ACCEPT&lt;br /&gt;
    &lt;br /&gt;
      # FORWARD chain&lt;br /&gt;
      $ipt -A FORWARD -i eth0 -s $lan -j ACCEPT&lt;br /&gt;
      $ipt -A FORWARD -i eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
    &lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    # stop firewall&lt;br /&gt;
    stop_firewall() {&lt;br /&gt;
    &lt;br /&gt;
      $ipt -P INPUT DROP&lt;br /&gt;
      $ipt -P OUTPUT DROP&lt;br /&gt;
      $ipt -P FORWARD DROP&lt;br /&gt;
      # allow internal traffic&lt;br /&gt;
      $ipt -A INPUT -i eth0 -j ACCEPT&lt;br /&gt;
      $ipt -A OUTPUT -o eth0 -j ACCEPT&lt;br /&gt;
    &lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    # flushing, removing and zeroing tables&lt;br /&gt;
    reset_firewall() {&lt;br /&gt;
    &lt;br /&gt;
      chains=`cat /proc/net/ip_tables_names`&lt;br /&gt;
      for i in $chains; do&lt;br /&gt;
        $debug $ipt -t $i -F&lt;br /&gt;
        $debug $ipt -t $i -X&lt;br /&gt;
        $debug $ipt -t $i -Z&lt;br /&gt;
      done&lt;br /&gt;
    &lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    case &amp;quot;$1&amp;quot; in&lt;br /&gt;
    &lt;br /&gt;
      start|restart|reload)&lt;br /&gt;
        reset_firewall&lt;br /&gt;
        start_firewall&lt;br /&gt;
        ;;&lt;br /&gt;
      stop)&lt;br /&gt;
        reset_firewall&lt;br /&gt;
        stop_firewall&lt;br /&gt;
        ;;&lt;br /&gt;
      *)&lt;br /&gt;
        echo &amp;quot;Usage: $0 {start|stop|restart|reload}&amp;quot;;&lt;br /&gt;
        exit 1&lt;br /&gt;
        ;;&lt;br /&gt;
    &lt;br /&gt;
    esac&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
[[Category:Security]]&lt;/div&gt;</summary>
		<author><name>Erik</name></author>
	</entry>
</feed>