<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Linux Forum &mdash; прошу помощи со скриптом iptables для шлюза]]></title>
		<link>https://linuxforum.ru/viewtopic.php?id=27277</link>
		<atom:link href="https://linuxforum.ru/extern.php?action=feed&amp;tid=27277&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «прошу помощи со скриптом iptables для шлюза».]]></description>
		<lastBuildDate>Fri, 26 Apr 2013 07:27:57 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: прошу помощи со скриптом iptables для шлюза]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=342697#p342697</link>
			<description><![CDATA[<p><strong>UPD: </strong><span style="color: rgay"><em>открыл ntp в локалку для синхр. с PDC, добавил указание DNS и сервера времени на DNS-сервер и он же ADDC)</em></span></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><p>root@gw5:~# cat /etc/network/if-pre-up.d/firewall<br />#! /bin/sh<br />TH=&quot;192.168.0.65,80.247.XXX.XXX,80.247.99.XXX,109.202.X.XXX&quot;&nbsp; &nbsp; # Trusted hosts debug,imex,avantel,hz<br />IPT=&quot;/sbin/iptables&quot;<br />EXT_IF=&quot;eth0&quot;<br />INT_IF1=&quot;eth1&quot;<br />INT_IF2=&quot;eth2&quot;<br />INT_IF3=&quot;eth3&quot;</p><p>NET_WAN=&quot;194.150.156.115&quot;</p><p>NET_LAN1=&quot;192.168.1.0/24&quot;<br />NET_LAN2=&quot;192.168.2.0/24&quot;<br />NET_LAN3=&quot;192.168.0.0/24&quot;</p><p>squid3=&quot;3128&quot;</p><p>DNS_SEARCH=&quot;search rotor.ru&quot;</p><p># LAN DNS<br />DNS=&quot;192.168.0.27&quot; # local DNS on Ms Windows</p><p>echo &quot;\n\t[+] Setting up dns-nameservers to DC...&quot;<br />echo $DNS_SEARCH&#039;\nnameserver &#039;$DNS &gt; /etc/resolv.conf # it&#039;s work if no nameservers in /etc/network/interfaces file</p><p>echo &quot;\t[+] Changing NTP-server to DC in LAN...&quot;<br />sed -i &#039;s/^server.*/server &#039;$DNS&#039;/g&#039; /etc/ntp.conf</p><p>echo &quot;\t[+] Flashing all usr rules...&quot;<br />$IPT -t mangle -F &amp;&amp; $IPT -t filter -F &amp;&amp; $IPT -t nat -F &amp;&amp; $IPT -F &amp;&amp; $IPT -X</p><p>echo &quot;\t[+] Enabling ipv4 routing feauture...&quot;<br />echo 1 &gt; /proc/sys/net/ipv4/ip_forward</p><p>echo &quot;\t[+] Seting global policy to DROP ALL...&quot;<br />$IPT -P INPUT DROP &amp;&amp; $IPT -P OUTPUT DROP &amp;&amp; $IPT -P FORWARD DROP<br /># -----------------------------------------------------------------------------</p><p>###### INPUT chain ######<br />echo &quot;\t[+] Setting up INPUT chain...&quot;</p><p>### state tracking rules<br /># $IPT -A INPUT -m conntrack --ctstate INVALID -j LOG --log-prefix &quot;DROP INVALID INPUT PKT &quot; --log-ip-options --log-tcp-options<br />$IPT -A INPUT -m conntrack --ctstate INVALID -j DROP<br />$IPT -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT</p><p>### anti-spoofing rules (inside initialired lan2lan routing accepteed)<br /># $IPT -A INPUT -i $INT_IF1 ! -s $NET_LAN1 -j LOG --log-prefix &quot;DROP SPOOFED INPUT[1] PKT &quot;&nbsp; &nbsp; &nbsp;# FG conpany lan<br />$IPT -A INPUT -i $INT_IF1 ! -s $NET_LAN1 -j DROP<br />#<br /># $IPT -A INPUT -i $INT_IF2 ! -s $NET_LAN2 -j LOG --log-prefix &quot;DROP SPOOFED INPUT[2] PKT &quot;&nbsp; &nbsp; &nbsp;# AF conpany lan<br />$IPT -A INPUT -i $INT_IF2 ! -s $NET_LAN2 -j DROP<br />#<br /># $IPT -A INPUT -i $INT_IF3 ! -s $NET_LAN3 -j LOG --log-prefix &quot;DROP SPOOFED INPUT[3] PKT &quot;&nbsp; &nbsp; &nbsp;# empty lan<br />$IPT -A INPUT -i $INT_IF3 ! -s $NET_LAN3 -j DROP</p><p>### ACCEPT rules [ssh,www,webmin,ping]<br /># &gt; [WAN]<br />$IPT -A INPUT -i $EXT_IF -s $TH -p tcp -m multiport --dport ssh,www,webmin,3333,3335,3336,3389,6666 -m tcp --syn -m conntrack --ctstate NEW -j ACCEPT</p><p># &gt; [LAN]<br />$IPT -A INPUT ! -i $EXT_IF -p tcp -m multiport --dport ssh,$squid3,webmin -m conntrack --ctstate NEW -j ACCEPT # allow to connect proxy and ssh from LAN&#039;s ip</p><p># &gt; [ANY]<br />$IPT -A INPUT -p icmp --icmp-type any -j ACCEPT</p><p>### default INPUT LOG rule<br /># $IPT -A INPUT ! -i lo -j LOG --log-prefix &quot;DROP NO-LOOPBACK INPUT PKT &quot; --log-ip-options --log-tcp-options</p><p>### make sure that loopback traffic is accepted</p><p>$IPT -A INPUT -i lo -j ACCEPT<br /># -----------------------------------------------------------------------------</p><p>###### OUTPUT chain ######<br />echo &quot;\t[+] Setting up OUTPUT chain...&quot;</p><p>### state tracking rules<br /># $IPT -A OUTPUT -m conntrack --ctstate INVALID -j LOG --log-prefix &quot;DROP INVALID OUTPUT PKT &quot; --log-ip-options --log-tcp-options<br />$IPT -A OUTPUT -m conntrack --ctstate INVALID -j DROP<br />$IPT -A OUTPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT</p><p>### ACCEPT rules for allowing connections out [ftp,ssh,www,ntp,https,dns,ping]<br />$IPT -A OUTPUT -o $EXT_IF -s $NET_WAN -p tcp -m multiport --dport ftp-data,ftp,ssh,www,ntp,https,aol,xmpp-client -m conntrack --ctstate NEW -j ACCEPT<br />$IPT -A OUTPUT -o $EXT_IF -s $NET_WAN -p udp -m multiport --dport ssh,www,ntp,https,aol,xmpp-client -m conntrack --ctstate NEW -j ACCEPT</p><p>$IPT -A OUTPUT -o $EXT_IF -p tcp --dport domain -m conntrack --ctstate NEW -j ACCEPT # DNS tcp/udp<br />$IPT -A OUTPUT -o $EXT_IF -p udp --dport domain -m conntrack --ctstate NEW -j ACCEPT</p><p>$IPT -A OUTPUT -s $NET_LAN1,$NET_LAN2,$NET_LAN3 -p tcp -m multiport --dport domain,ssh,ntp -m conntrack --ctstate NEW -j ACCEPT # allow ssh,dns from LAN<br />$IPT -A OUTPUT -s $NET_LAN1,$NET_LAN2,$NET_LAN3 -p udp -m multiport --dport domain,ssh,ntp -m conntrack --ctstate NEW -j ACCEPT # allow ssh,dns from LAN</p><p>$IPT -A OUTPUT -p icmp --icmp-type any -j ACCEPT</p><p>### default OUTPUT LOG rule<br /># $IPT -A OUTPUT ! -o lo -j LOG --log-prefix &quot;DROP NO-LOOPBACK OUTPUT PKT &quot; --log-ip-options --log-tcp-options</p><p>### make sure that loopback traffic is accepted<br />$IPT -A OUTPUT -o lo -j ACCEPT<br /># -----------------------------------------------------------------------------</p><p>###### FORWARD chain ######<br />#<br />echo &quot;\t[+] Setting up FORWARD chain...&quot;</p><p>### state tracking rules<br />$IPT -A FORWARD -m conntrack --ctstate INVALID -j LOG --log-prefix &quot;DROP INVALID FORWARD PKT &quot; --log-ip-options --log-tcp-options<br />$IPT -A FORWARD -m conntrack --ctstate INVALID -j DROP<br />$IPT -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT</p><p>### anti-spoofing rules<br /># $IPT -A FORWARD -i $INT_IF1 ! -s $NET_LAN1 -j LOG --log-prefix &quot;DROP SPOOFED FORWARD[1] PKT &quot;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;# FG company lan<br />$IPT -A FORWARD -i $INT_IF1 ! -s $NET_LAN1 -j DROP<br />#<br /># $IPT -A FORWARD -i $INT_IF2 ! -s $NET_LAN2 -j LOG --log-prefix &quot;DROP SPOOFED FORWARD[2] PKT &quot;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;# AF company lan<br />$IPT -A FORWARD -i $INT_IF2 ! -s $NET_LAN2 -j DROP<br />#<br /># $IPT -A FORWARD -i $INT_IF3 ! -s $NET_LAN3 -j LOG --log-prefix &quot;DROP SPOOFED FORWARD[3] PKT &quot;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;# empty lan<br />$IPT -A FORWARD -i $INT_IF3 ! -s $NET_LAN3 -j DROP<br />#<br /># allow to forward: [rdp&#039;s, escom_8080],[mail only from lan-s_ip]<br />$IPT -A FORWARD -i $EXT_IF -s $TH -p tcp -m multiport --dport 3333,3335,3389,6666,http-alt -m tcp --syn -m conntrack --ctstate NEW -j ACCEPT<br />$IPT -A FORWARD -s $NET_LAN1,$NET_LAN2,$NET_LAN3 -p tcp -m multiport --dport smtp,pop3,ntp -m conntrack --ctstate NEW -j ACCEPT&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;# MAIL fwd from LAN&#039;s accept<br />$IPT -A FORWARD -s $NET_LAN1,$NET_LAN2,$NET_LAN3 -p udp -m multiport --dport ntp -m conntrack --ctstate NEW -j ACCEPT&nbsp; &nbsp;# time fwd from LAN&#039;s$</p><br /><br /><p>#</p><p># $IPT -A FORWARD -p tcp -m multiport --dport domain,ntp -m conntrack --ctstate NEW -j ACCEPT&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;# DNS, NTP tcp/udp fwd<br />$IPT -A FORWARD -p udp -m multiport --dport domain,ntp,123 -m conntrack --ctstate NEW -j ACCEPT<br />$IPT -A FORWARD -p icmp --icmp-type any -j ACCEPT<br />#<br />### default LOG rule<br /># $IPT -A FORWARD ! -i lo -j LOG --log-prefix &quot;DROP LOOPBACK FORWARD PKT &quot; --log-ip-options --log-tcp-options<br /># -----------------------------------------------------------------------------</p><p>###### NAT rules ######<br />#<br />echo &quot;\t[+] Setting up NAT rules...&quot;</p><p>$IPT -t nat -A PREROUTING -p tcp --dport 3333 -i $EXT_IF -j DNAT --to 192.168.1.250:3389&nbsp; &nbsp; &nbsp; &nbsp; # RTS (and DMZ)<br />$IPT -t nat -A PREROUTING -p tcp --dport 3335 -i $EXT_IF -j DNAT --to 192.168.1.4:3389&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # Machine D2<br />$IPT -t nat -A PREROUTING -p tcp --dport 3389 -i $EXT_IF -j DNAT --to 192.168.1.2:3389&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # ADDC name: XXX1<br />$IPT -t nat -A PREROUTING -p tcp --dport 6666 -i $EXT_IF -j DNAT --to 192.168.1.2:8080&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # escom remote mycompany -&gt; enemy1</p><p># Tune Up (troubleshooting&#039;s)<br />$IPT -t nat -A PREROUTING -s $NET_LAN1,$NET_LAN2,$NET_LAN3 -p tcp -m multiport --dport ftp,ftp-data,www,https,aol,xmpp-client -j REDIRECT --to-ports $squid3 # add www,https<br />$IPT -t nat -A PREROUTING -s $NET_LAN1,$NET_LAN2,$NET_LAN3 -p udp -m multiport --dport www,https,aol,xmpp-client -j REDIRECT --to-ports $squid3 # add www,https<br /># http,https,icq,qip.ru redirect to -&gt; squid3</p><p># -----------------------------------------------------------------------------</p><p>##### MASCARADING #####<br />#<br />echo &quot;\t[+] Mascarade require traffic...\n&quot;<br />$IPT -t nat -A POSTROUTING -s $NET_LAN1,$NET_LAN2,$NET_LAN3 -o $EXT_IF -j MASQUERADE&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # enable acces LAN&#039;s -&gt; WAN<br />#<br />echo INTERNET:&#039;\t&#039;$NET_WAN &#039;(&#039;$EXT_IF&#039;)&#039;<br />echo NETWORKS:&#039;\n\t\t&#039;$NET_LAN1 &#039;(&#039;$INT_IF1&#039;)\n\t\t&#039;$NET_LAN2 &#039;(&#039;$INT_IF2&#039;)\n\t\t&#039;$NET_LAN3 &#039;(&#039;$INT_IF3&#039;)&#039;<br />root@gw5:~#</p></div></div><p>зы: Если кому что понадобится, готов комментировать код.)</p>]]></description>
			<author><![CDATA[null@example.com (Me_Shock)]]></author>
			<pubDate>Fri, 26 Apr 2013 07:27:57 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=342697#p342697</guid>
		</item>
		<item>
			<title><![CDATA[Re: прошу помощи со скриптом iptables для шлюза]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=341011#p341011</link>
			<description><![CDATA[<div class="quotebox"><cite>urfin⇓ пишет:</cite><blockquote><p>Попробуйте<br />$IPT -A INPUT ! -i $EXT_IF -p tcp --dport https -m conntrack --ctstate NEW -j REJECT --reject-with tcp-reset</p></blockquote></div><p>вот оно: </p><div class="quotebox"><cite>urfin⇓ пишет:</cite><blockquote><p>tcp-reset</p></blockquote></div><p>то что не удалось найти!! Спасибо, в который раз уже выручаете)))</p>]]></description>
			<author><![CDATA[null@example.com (Me_Shock)]]></author>
			<pubDate>Fri, 19 Apr 2013 03:36:37 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=341011#p341011</guid>
		</item>
		<item>
			<title><![CDATA[Re: прошу помощи со скриптом iptables для шлюза]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=340877#p340877</link>
			<description><![CDATA[<div class="quotebox"><cite>Enzo_brn пишет:</cite><blockquote><p>Чет не пойму как отклонить от кл. ЛС обращение http secure.. (Чтобы когда клиентский браузер не настроен на использование прокси сервера, сразу приходило &quot;соединение было сброшено&quot;, а не отвал по таймауту, который долго ждать)<br />делал так, не помогло - все равно браузер долго тупит: </p><div class="codebox"><pre><code>$IPT -A INPUT ! -i $EXT_IF -p tcp --dport https -m conntrack --ctstate NEW -j REJECT</code></pre></div><p> может это по тому что icmp закрыто все кроме эхо? (насколько я понял любые перенаправления https не имеют смысла..)</p></blockquote></div><p>Попробуйте</p><div class="codebox"><pre><code>$IPT -A INPUT ! -i $EXT_IF -p tcp --dport https -m conntrack --ctstate NEW -j REJECT --reject-with tcp-reset</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (urfin)]]></author>
			<pubDate>Thu, 18 Apr 2013 11:52:35 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=340877#p340877</guid>
		</item>
		<item>
			<title><![CDATA[Re: прошу помощи со скриптом iptables для шлюза]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=340869#p340869</link>
			<description><![CDATA[<p>Чет не пойму как отклонить от кл. ЛС обращение http secure.. (Чтобы когда клиентский браузер не настроен на использование прокси сервера, сразу приходило &quot;соединение было сброшено&quot;, а не отвал по таймауту, который долго ждать)<br />делал так, не помогло - все равно браузер долго тупит: </p><div class="codebox"><pre><code>$IPT -A INPUT ! -i $EXT_IF -p tcp --dport https -m conntrack --ctstate NEW -j REJECT</code></pre></div><p> может это по тому что icmp закрыто все кроме эхо? (насколько я понял любые перенаправления https не имеют смысла..)</p>]]></description>
			<author><![CDATA[null@example.com (Me_Shock)]]></author>
			<pubDate>Thu, 18 Apr 2013 11:01:02 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=340869#p340869</guid>
		</item>
		<item>
			<title><![CDATA[Re: прошу помощи со скриптом iptables для шлюза]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=340468#p340468</link>
			<description><![CDATA[<div class="quotebox"><cite>urfin⇓ пишет:</cite><blockquote><p>Может так: iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT</p></blockquote></div><p>А это мысль! СПС))</p>]]></description>
			<author><![CDATA[null@example.com (Me_Shock)]]></author>
			<pubDate>Mon, 15 Apr 2013 12:15:45 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=340468#p340468</guid>
		</item>
		<item>
			<title><![CDATA[Re: прошу помощи со скриптом iptables для шлюза]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=340467#p340467</link>
			<description><![CDATA[<div class="quotebox"><cite>urfin⇓ пишет:</cite><blockquote><p>Все работает?</p></blockquote></div><p>угу!</p><div class="quotebox"><cite>urfin⇓ пишет:</cite><blockquote><p>Тогда очень подробненько задокументируйте все это где-нибудь у себя, иначе, через полгода или позже, начнете ломать себе голову: &quot;а что это я за <span style="color: #ff0000"><strong>CENSORED</strong></span> нагородил?&quot;</p></blockquote></div><p>гугл докс уже ни раз спасал мир от гибели! немного офтоп: сделал сквида прозрачным (intercept) и добавил прероутингом редирект 80-го на 3128. В итоге имеем: все шляпные web-установщики на клиенте отрабатывают без проблем свои загрузки, фурычет и не настроенный на прокси браузер, который не поймет 443 https:// ну да и норм, клиент позвонит, ТП - настроит на исп. прокси. Насчет ssl-bump - боюсь пока лезть.. а и в скрипте теперь 3 ЛС))</p>]]></description>
			<author><![CDATA[null@example.com (Me_Shock)]]></author>
			<pubDate>Mon, 15 Apr 2013 12:11:10 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=340467#p340467</guid>
		</item>
		<item>
			<title><![CDATA[Re: прошу помощи со скриптом iptables для шлюза]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=340466#p340466</link>
			<description><![CDATA[<div class="quotebox"><cite>Enzo_brn⇓ пишет:</cite><blockquote><p>Как бы указать мульти-интерфейс</p></blockquote></div><p>Может так: iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT</p>]]></description>
			<author><![CDATA[null@example.com (urfin)]]></author>
			<pubDate>Mon, 15 Apr 2013 12:05:51 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=340466#p340466</guid>
		</item>
		<item>
			<title><![CDATA[Re: прошу помощи со скриптом iptables для шлюза]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=340465#p340465</link>
			<description><![CDATA[<div class="quotebox"><cite>Enzo_brn⇓ пишет:</cite><blockquote><p>urfin, спасибо)) кажется я упростил: gw5.fw</p></blockquote></div><p>Все работает? Тогда очень подробненько задокументируйте все это где-нибудь у себя, иначе, через полгода или позже, начнете ломать себе голову: &quot;а что это я за <span style="color: #ff0000"><strong>CENSORED</strong></span> нагородил?&quot; <img src="https://linuxforum.ru/img/smilies/ab.gif" alt="ab" /></p>]]></description>
			<author><![CDATA[null@example.com (urfin)]]></author>
			<pubDate>Mon, 15 Apr 2013 11:55:52 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=340465#p340465</guid>
		</item>
		<item>
			<title><![CDATA[Re: прошу помощи со скриптом iptables для шлюза]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=340460#p340460</link>
			<description><![CDATA[<div class="quotebox"><cite>urfin⇓ пишет:</cite><blockquote><p>не знаю, как сейчас, но раньше микрософтовская реализация tcp-протокола, была несколько кривовата</p></blockquote></div><p>и почему это никого не удивляет.. <img src="https://linuxforum.ru/img/smilies/bm.gif" alt="bm" /></p>]]></description>
			<author><![CDATA[null@example.com (Me_Shock)]]></author>
			<pubDate>Mon, 15 Apr 2013 11:47:56 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=340460#p340460</guid>
		</item>
		<item>
			<title><![CDATA[Re: прошу помощи со скриптом iptables для шлюза]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=340457#p340457</link>
			<description><![CDATA[<p><strong>urfin</strong>, СПС)) кажется я упростил: <strong>gw5.fw</strong></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><p><div class="termtitle" style="font-family: sans-serif; position:relative; height:auto; width:auto; background:#3A4061; color:#FFFFFF; padding: 1px;"><b> Консоль:</b></div>
<div class="termcont" style="font-family: Terminus; position:relative; height:auto; width:auto; overflow-x:scroll; white-space: nowrap ; overflow-y:auto;background:#000000; color:#4EF44E; line-height:1.2; padding: 3px; font-size: 1rem; max-height: 60vh">#!/bin/bash<br />#<br />TH=&quot;192.168.0.65&quot;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;# Trusted hosts<br />IPT=&quot;/sbin/iptables&quot;<br />EXT_IF=&quot;eth0&quot;<br />#<br />INT_IF1=&quot;eth1&quot;<br />INT_IF2=&quot;eth2&quot;<br />INT_IF3=&quot;eth3&quot;<br />#<br />NET_WAN=&quot;192.168.0.0/24&quot;<br />#<br />NET_LAN1=&quot;192.168.1.0/24&quot;<br />NET_LAN2=&quot;192.168.2.0/24&quot;<br />NET_LAN3=&quot;192.168.3.0/24&quot;<br />#<br />squid3=&quot;3128&quot;<br />EXT_RDP=&quot;3333,3335,3336,5555,6666&quot;<br />INT_RDP=&quot;3389&quot;<br />escom=&quot;8080&quot;<br />#<br />#<br />echo &quot;[+] Flashing all usr rules...&quot;<br />$IPT -t mangle -F &amp;&amp; $IPT -t filter -F &amp;&amp; $IPT -t nat -F &amp;&amp; $IPT -F &amp;&amp; $IPT -X</p><p>echo &quot;[+] Enabling ipv4 routing feauture...&quot;<br />echo 1 &gt; /proc/sys/net/ipv4/ip_forward</p><p>echo &quot;[+] Seting global policy to DROP ALL...&quot;<br />$IPT -P INPUT DROP &amp;&amp; $IPT -P OUTPUT DROP &amp;&amp; $IPT -P FORWARD DROP<br /># -----------------------------------------------------------------------------</p><p>###### INPUT chain ######<br />echo &quot;[+] Setting up INPUT chain...&quot;</p><p>### state tracking rules<br />$IPT -A INPUT -m conntrack --ctstate INVALID -j LOG --log-prefix &quot;DROP INVALID INPUT PKT &quot; --log-ip-options --log-tcp-options<br />$IPT -A INPUT -m conntrack --ctstate INVALID -j DROP<br />$IPT -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT</p><p>### anti-spoofing rules<br />$IPT -A INPUT -i $INT_IF1 ! -s $NET_LAN1 -j LOG --log-prefix &quot;DROP SPOOFED INPUT[1] PKT &quot;&nbsp; &nbsp; &nbsp; &nbsp;# FG company<br />$IPT -A INPUT -i $INT_IF1 ! -s $NET_LAN1 -j DROP</p><p>$IPT -A INPUT -i $INT_IF2 ! -s $NET_LAN2 -j LOG --log-prefix &quot;DROP SPOOFED INPUT[2] PKT &quot;&nbsp; &nbsp; &nbsp; &nbsp;# AF company<br />$IPT -A INPUT -i $INT_IF2 ! -s $NET_LAN2 -j DROP</p><p>$IPT -A INPUT -i $INT_IF3 ! -s $NET_LAN3 -j LOG --log-prefix &quot;DROP SPOOFED INPUT[3] PKT &quot;&nbsp; &nbsp; &nbsp; &nbsp;# free company<br />$IPT -A INPUT -i $INT_IF3 ! -s $NET_LAN3 -j DROP</p><br /><p>### ACCEPT rules [ssh,www,erdp,escom,ping]<br />$IPT -A INPUT -i $INT_IF1 -p tcp --dport $squid3 -m conntrack --ctstate NEW -j ACCEPT # allow to connetc to proxy from LAN1<br />$IPT -A INPUT -i $INT_IF2 -p tcp --dport $squid3 -m conntrack --ctstate NEW -j ACCEPT # allow to connetc to proxy from LAN2<br />$IPT -A INPUT -i $INT_IF3 -p tcp --dport $squid3 -m conntrack --ctstate NEW -j ACCEPT # allow to connetc to proxy from LAN3<br />#<br />$IPT -A INPUT -i $EXT_IF -s $TH -p tcp -m multiport --dport ssh,www,$EXT_RDP,$escom -m tcp --syn -m conntrack --ctstate NEW -j ACCEPT&nbsp; &nbsp;# allow tr-ed in-g.<br />$IPT -A INPUT -p icmp --icmp-type echo-request -j ACCEPT</p><p>### default INPUT LOG rule<br />$IPT -A INPUT ! -i lo -j LOG --log-prefix &quot;DROP NO-LOOPBACK INPUT PKT &quot; --log-ip-options --log-tcp-options</p><p>### make sure that loopback traffic is accepted<br />$IPT -A INPUT -i lo -j ACCEPT<br /># -----------------------------------------------------------------------------</p><p>###### OUTPUT chain ######<br />echo &quot;[+] Setting up OUTPUT chain...&quot;</p><p>### state tracking rules<br />$IPT -A OUTPUT -m conntrack --ctstate INVALID -j LOG --log-prefix &quot;DROP INVALID OUTPUT PKT &quot; --log-ip-options --log-tcp-options<br />$IPT -A OUTPUT -m conntrack --ctstate INVALID -j DROP<br />$IPT -A OUTPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT</p><p>### ACCEPT rules for allowing connections out [ftp,ssh,smtp,www,ntp,pop3,https,rdp,icq,escom]<br />$IPT -A OUTPUT -o $EXT_IF -p tcp -m multiport --dport ftp,ssh,smtp,www,ntp,pop3,https,$INT_RDP,aol,$escom -m conntrack --ctstate NEW -j ACCEPT<br />$IPT -A OUTPUT -o $EXT_IF -p udp -m multiport --dport ssh,www,ntp,pop3,https,$INT_RDP,aol,$escom -m conntrack --ctstate NEW -j ACCEPT<br />#<br />$IPT -A OUTPUT -o $EXT_IF -p tcp --dport domain -m conntrack --ctstate NEW -j ACCEPT # DNS tcp/udp<br />$IPT -A OUTPUT -o $EXT_IF -p udp --dport domain -m conntrack --ctstate NEW -j ACCEPT<br />$IPT -A OUTPUT -o $EXT_IF -p icmp --icmp-type echo-request -j ACCEPT</p><p>### default OUTPUT LOG rule<br />$IPT -A OUTPUT ! -o lo -j LOG --log-prefix &quot;DROP NO-LOOPBACK OUTPUT PKT &quot; --log-ip-options --log-tcp-options</p><p>### make sure that loopback traffic is accepted<br />$IPT -A OUTPUT -o lo -j ACCEPT<br /># -----------------------------------------------------------------------------</p><p>###### FORWARD chain ######<br />#<br />echo &quot;[+] Setting up FORWARD chain...&quot;</p><p>### state tracking rules<br />$IPT -A FORWARD -m conntrack --ctstate INVALID -j LOG --log-prefix &quot;DROP INVALID FORWARD PKT &quot; --log-ip-options --log-tcp-options<br />$IPT -A FORWARD -m conntrack --ctstate INVALID -j DROP<br />$IPT -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT</p><p>### anti-spoofing rules<br />$IPT -A FORWARD -i $INT_IF1 ! -s $NET_LAN1 -j LOG --log-prefix &quot;DROP SPOOFED FORWARD[1] PKT &quot;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;# FG<br />$IPT -A FORWARD -i $INT_IF1 ! -s $NET_LAN1 -j DROP</p><p>$IPT -A FORWARD -i $INT_IF2 ! -s $NET_LAN2 -j LOG --log-prefix &quot;DROP SPOOFED FORWARD[2] PKT &quot;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;# AF<br />$IPT -A FORWARD -i $INT_IF2 ! -s $NET_LAN2 -j DROP</p><p>$IPT -A FORWARD -i $INT_IF3 ! -s $NET_LAN3 -j LOG --log-prefix &quot;DROP SPOOFED FORWARD[3] PKT &quot;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;# free<br />$IPT -A FORWARD -i $INT_IF3 ! -s $NET_LAN3 -j DROP</p><p>$IPT -A FORWARD -p tcp --dport domain -m conntrack --ctstate NEW -j ACCEPT&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # DNS tcp/udp<br />$IPT -A FORWARD -p udp --dport domain -m conntrack --ctstate NEW -j ACCEPT<br />$IPT -A FORWARD -p icmp --icmp-type echo-request -j ACCEPT</p><p>### default LOG rule<br />$IPT -A FORWARD ! -i lo -j LOG --log-prefix &quot;DROP LOOPBACK FORWARD PKT &quot; --log-ip-options --log-tcp-options<br /># -----------------------------------------------------------------------------</p><p>###### NAT rules ######<br />#<br />echo &quot;[+] Setting up NAT rules...&quot;<br />$IPT -t nat -A PREROUTING -p tcp --dport 3333 -i $EXT_IF -j DNAT --to 192.168.1.250:$INT_RDP<br />$IPT -t nat -A PREROUTING -p tcp --dport 3335 -i $EXT_IF -j DNAT --to 192.168.1.4:$INT_RDP<br />$IPT -t nat -A PREROUTING -p tcp --dport 3336 -i $EXT_IF -j DNAT --to 192.168.1.2:$INT_RDP&nbsp; &nbsp; &nbsp; # ADDC name: RDC1<br />$IPT -t nat -A PREROUTING -p tcp --dport 5555 -i $EXT_IF -j DNAT --to 192.168.1.232:$INT_RDP<br />$IPT -t nat -A PREROUTING -p tcp --dport 6666 -i $EXT_IF -j DNAT --to 192.168.1.2:$escom&nbsp; &nbsp; &nbsp; &nbsp; # escom remote mycompany -&gt; enemy1<br />#<br />$IPT -t nat -A PREROUTING -s $NET_LAN1,$NET_LAN2,$NET_LAN3 -p tcp -m tcp --dport www -j REDIRECT --to-ports $squid3<br /># -----------------------------------------------------------------------------</p><p>echo &quot;[+] Mascarade require traffic...&quot;<br />$IPT -t nat -A POSTROUTING -s $NET_LAN1,$NET_LAN2,$NET_LAN3 -o $EXT_IF -j MASQUERADE<br />#<br /></div></p></div></div><p>есть, правда незадачка: Как бы указать мульти-интерфейс, без циклов.. наподобие этого.</p><div class="codebox"><pre><code>IF_LANS=eth1 eth2 eth3
  
for i in $IF_LANS
 do
  iptables -A INPUT -p ALL -i $i -m state --state ESTABLISHED,RELATED -j ACCEPT  
done</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Me_Shock)]]></author>
			<pubDate>Mon, 15 Apr 2013 11:42:40 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=340457#p340457</guid>
		</item>
		<item>
			<title><![CDATA[Re: прошу помощи со скриптом iptables для шлюза]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=340451#p340451</link>
			<description><![CDATA[<div class="quotebox"><cite>Enzo_brn⇓ пишет:</cite><blockquote><p>Интересно.. Это полезно для высоко нагруженных соединений, или для всех</p></blockquote></div><p>Для всех, но в плане защищенности от спуфинг-атак, типа &quot;предсказание номера tcp-последовательности&quot;. Однако, могут возникнуть проблемы с виндовс-клиентами, не знаю, как сейчас, но раньше микрософтовская реализация tcp-протокола, была несколько кривовата, и при некоторых условиях, пакеты, сгенерированные программами от Микрософт маркировались как NEW, но со сброшенным флагом SYN.</p>]]></description>
			<author><![CDATA[null@example.com (urfin)]]></author>
			<pubDate>Mon, 15 Apr 2013 11:23:26 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=340451#p340451</guid>
		</item>
		<item>
			<title><![CDATA[Re: прошу помощи со скриптом iptables для шлюза]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=340440#p340440</link>
			<description><![CDATA[<div class="quotebox"><cite>urfin⇓ пишет:</cite><blockquote><p>Немного подредактировал INPUT<br />+ секция INPUT<br />и добавил проверку на наличие флага SYN при состоянии NEW (запрос на установление соединения).</p></blockquote></div><p><span style="color: gray">&quot;SYN-SENT&nbsp; &nbsp; Клиент отправил запрос серверу на установление соединения и ожидает ответа<br />SYN-RECEIVED&nbsp; &nbsp; Сервер получил запрос на соединение, отправил ответный запрос и ожидает подтверждения&quot;</span></p><p>Интересно.. Это полезно для высоко нагруженных соединений, или для всех. Было бы любопытно понять как (по-идее) должна изменится скорость обработки запросов от клиентов, как-то приходит человеко-понятная аналогия типо проскси станет более лоялен с клиентами.. правильно ли до меня дошла суть использования флага SYN?</p>]]></description>
			<author><![CDATA[null@example.com (Me_Shock)]]></author>
			<pubDate>Mon, 15 Apr 2013 10:58:34 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=340440#p340440</guid>
		</item>
		<item>
			<title><![CDATA[Re: прошу помощи со скриптом iptables для шлюза]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=340431#p340431</link>
			<description><![CDATA[<div class="quotebox"><cite>bormant⇓ пишет:</cite><blockquote><p>У меня одного складывается ощущение, что про файлик /etc/services настройщики фаервола в этой теме не сильно в курсе?</p></blockquote></div><p>все-все, вернулся на путь истинный, только не пинайте! <img src="https://linuxforum.ru/img/smilies/ap.gif" alt="ap" /></p>]]></description>
			<author><![CDATA[null@example.com (Me_Shock)]]></author>
			<pubDate>Mon, 15 Apr 2013 10:16:31 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=340431#p340431</guid>
		</item>
		<item>
			<title><![CDATA[Re: прошу помощи со скриптом iptables для шлюза]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=340350#p340350</link>
			<description><![CDATA[<div class="quotebox"><cite>kisil⇓ пишет:</cite><blockquote><p>Ого. А что в остальных 50% будет?</p></blockquote></div><p>То-же и будет,&nbsp; остальные 50% - на переосмысливание первых 50%, сделаю все &quot;Корбен Даллас&quot;xD</p>]]></description>
			<author><![CDATA[null@example.com (Me_Shock)]]></author>
			<pubDate>Mon, 15 Apr 2013 04:01:02 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=340350#p340350</guid>
		</item>
		<item>
			<title><![CDATA[Re: прошу помощи со скриптом iptables для шлюза]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=340304#p340304</link>
			<description><![CDATA[<div class="quotebox"><cite>urfin⇓ пишет:</cite><blockquote><p> ТС решил пойти своим путем, через переменные, так ему показалось проще, чем сверять каждый порт со списком services</p></blockquote></div><p>Угу, можно многое упростить (жаль не в пользу понятности) в т.ч. пользовать --multiport и циклы в кот. менять цепочки, чтобы не разводить мильён писанины. Просто в определенный момент осознал что не все влазиет в голову, поэтому на дебаге пока так. СПС за &quot;SYN&quot;, покане осознал, но пойму.)</p>]]></description>
			<author><![CDATA[null@example.com (Me_Shock)]]></author>
			<pubDate>Sun, 14 Apr 2013 16:39:21 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=340304#p340304</guid>
		</item>
	</channel>
</rss>
