<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Linux Forum &mdash; iptables dnat snat]]></title>
	<link rel="self" href="https://linuxforum.ru/extern.php?action=feed&amp;tid=4046&amp;type=atom" />
	<updated>2010-06-03T11:26:28Z</updated>
	<generator>PunBB</generator>
	<id>https://linuxforum.ru/viewtopic.php?id=4046</id>
		<entry>
			<title type="html"><![CDATA[iptables dnat snat]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=59158#p59158" />
			<content type="html"><![CDATA[<p>всем добрый день. <br />столкнулся с проблемой настройки маршрутизатора.</p><p>маршрутизатор под testing kernel 2.6.32.<br />eth1 - внешний интерфейс<br />eth2 - внутренний интерфейс<br />локалка - 192.168.0.0/24<br />внешний ip - 12.34.56.78<br />192.168.0.25 - сервер в локалке, на котором крутится несколько сервисов.</p><p>Задача: раздать интернет юзерам, пробросить порты до 192.168.0.25.</p><p>Скрипт для iptables:<br /></p><div class="codebox"><pre><code>#!/bin/sh
iptables -F INPUT
iptables -F FORWARD
iptables -F OUTPUT
iptables -t nat -F PREROUTING
iptables -t nat -F POSTROUTING
iptables -t nat -F OUTPUT

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

#SNAT
iptables -t nat -A POSTROUTING -p tcp -d 192.168.0.25 --dport 22 -j SNAT --to-source 192.168.0.1
iptables -t nat -A POSTROUTING -p tcp -d 192.168.0.25 --dport 80 -j SNAT --to-source 192.168.0.1
iptables -t nat -A POSTROUTING  -s 192.168.0.0/24 -o eth1 -j SNAT --to-source 12.34.56.78

#DNAT
iptables -t nat -A PREROUTING -i eth1 -p tcp -d 12.34.56.78 --dport 22 -j DNAT --to 192.168.0.25:22
iptables -t nat -A PREROUTING -i eth1 -p tcp -d 12.34.56.78 --dport 80 -j DNAT --to-destination 192.168.0.25:80

#NAT_OUTPUT
iptables -t nat -A OUTPUT -d 12.34.56.78 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.25
iptables -t nat -A OUTPUT -d 12.34.56.78 -p tcp --dport 22 -j DNAT --to-destination 192.168.0.25

#FORWARD_FILTER
iptables -A FORWARD -j DROP -p udp -m length --length 20:70 -m string --hex-string &quot;|7F FF FF FF|&quot; --algo kmp --from 32 --to 44
iptables -A FORWARD -j DROP -p tcp -m multiport --dports 135,139,445
iptables -A FORWARD -j DROP -p udp -m multiport --dports 137,138

#INPUT_FILTER
iptables -A INPUT -s 127.0.0.1/32 -j ACCEPT 
iptables -A INPUT -s 192.168.0.0/24 -p tcp --dport 5222 -j ACCEPT
iptables -A INPUT -p tcp --dport 5222 -j DROP</code></pre></div><br /><p>а не получается следующее: <br />при обращении из локалки на сайт, который крутится на 192.168.0.25, получаем шишь.</p><p>подскажите, где ошибка?</p><p>подсказали убрать -i eth1 в DNAT. помогло.<br />тему клоуз.</p>]]></content>
			<author>
				<name><![CDATA[true]]></name>
				<uri>https://linuxforum.ru/profile.php?id=7964</uri>
			</author>
			<updated>2010-06-03T11:26:28Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=59158#p59158</id>
		</entry>
</feed>
