<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Linux Forum &mdash; iptables проброс порта]]></title>
	<link rel="self" href="https://linuxforum.ru/extern.php?action=feed&amp;tid=25965&amp;type=atom" />
	<updated>2013-01-10T13:19:17Z</updated>
	<generator>PunBB</generator>
	<id>https://linuxforum.ru/viewtopic.php?id=25965</id>
		<entry>
			<title type="html"><![CDATA[Re: iptables проброс порта]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=319631#p319631" />
			<content type="html"><![CDATA[<p>по моему я поспешил с созданием темы, не работал проброс банально из за того что не прописал в настройках интерфейсов gateway на серваке 192.168.0.2. тему можно закрыть, надеюсь больше проблем не возникнет.</p>]]></content>
			<author>
				<name><![CDATA[veno]]></name>
				<uri>https://linuxforum.ru/profile.php?id=27728</uri>
			</author>
			<updated>2013-01-10T13:19:17Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=319631#p319631</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[iptables проброс порта]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=319571#p319571" />
			<content type="html"><![CDATA[<p>Помогите кто нибудь пробросить порт. Мучаюсь уже третьи сутки.<br />Имеется шлюз на ubuntu 8.04 desktop, раздает инет на домашние компы.<br />2 сетевые карты<br />eth0 локалка билайна<br />eth1 192.168.0.1 домашняя сетка<br />ppp0 xxx.xxx.xxx.xxx внешний статик ип <br />Провайдер beeline, соединение L2TP.</p><p>в домашней сети находится сервер ubuntu 12.04 на нем висит апач и тп<br />ип сервака 192.168.0.2</p><p>Задача пробросить для начала 80 порт с шлюза на 192.168.0.2</p><br /><p>iptables на шлюзе грузится с помощью записи в rc.local</p><p>конфиги<br />rc.local <br /></p><div class="codebox"><pre><code>#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will &quot;exit 0&quot; on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
sh /etc/firevol.sh
exit 0</code></pre></div><p>firevol.sh этот конфиг брал копипастом</p><div class="codebox"><pre><code>#!/bin/bash
# Тут в принципе может и не надо этого всего но не помеха вдруг какой модуль не подгружен или форвардинг не включен
echo 1 &gt; /proc/sys/net/ipv4/ip_forward
echo 1 &gt; /proc/sys/net/ipv4/ip_dynaddr
modprobe iptable_nat
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp

# Объявление переменных
export IPT=&quot;iptables&quot;
# Интерфейс который смотрит в интернет
export LAN=ppp0
# Локальная сеть
export WAN=eth1
export WAN_IP_RANGE=192.168.0.0/24

# Очистка всех цепочек iptables
$IPT -F
$IPT -F -t nat
$IPT -F -t mangle
$IPT -X
$IPT -t nat -X
$IPT -t mangle -X

# Закрываем изначально ВСЁ (т.е. изначально все что не разрешено - запрещено):
$IPT -P INPUT ACCEPT
$IPT -P OUTPUT ACCEPT
$IPT -P FORWARD ACCEPT

#$IPT -t nat -A PREROUTING -p tcp -d xxx.xxx.xxx.xxx --dport 80 -j DNAT --to-destination 192.168.0.2:80

#разрешаем локальный траффик для loopback и внутренней сети
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A INPUT -i $WAN -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT
$IPT -A OUTPUT -o $WAN -j ACCEPT

# Принимать все пакеты, которые инициированы из уже установленного соединения, и имеющим
# признак ESTABLISHED.
# Состояние ESTABLISHED говорит о том, что это не первый пакет в соединении.
$IPT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
$IPT -A OUTPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
$IPT -A FORWARD -o $WAN -m state --state RELATED,ESTABLISHED -j ACCEPT
$IPT -A FORWARD -o $LAN -m state --state RELATED,ESTABLISHED -j ACCEPT
$IPT -A FORWARD -i $WAN -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
$IPT -A FORWARD -i $LAN -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT

# Разрешаем доступ из внутренней сети наружу
$IPT -A FORWARD -i $WAN -o $LAN -j ACCEPT

# Включаем фрагментацию пакетов. Необходимо из за разных значений MTU
$IPT -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

# Отбрасывать все пакеты, которые не могут быть идентифицированы и поэтому не могут иметь определенного статуса.
$IPT -A INPUT   -m state --state INVALID -j DROP
$IPT -A FORWARD -m state --state INVALID -j DROP
# Приводит к связыванию системных ресурсов, так что реальный обмен данными становится не возможным.
$IPT -A INPUT  -p tcp ! --syn -m state --state NEW -j DROP
$IPT -A OUTPUT -p tcp ! --syn -m state --state NEW -j DROP

# Запрещаем доступ снаружи во внутреннюю сеть
#$IPT -A FORWARD -i $LAN -o $WAN -j REJECT

# Маскардинг
$IPT -t nat -A POSTROUTING -o $LAN -s $WAN_IP_RANGE -j MASQUERADE


$IPT -A INPUT -p tcp -m tcp --sport 80 -j ACCEPT
$IPT -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT 

$IPT -A INPUT -p tcp -m tcp --sport 22 -j ACCEPT
$IPT -A OUTPUT -p tcp -m tcp --dport 22 -j ACCEPT


#Вывод информации
$IPT -L -n -t nat</code></pre></div><p>если нужны еще какие то конфиги пишите выложу.</p><p>может кто нибудь написать правило которое нужно добавить что бы проброс с работал?<br />в лине я не спец только учусь.<br />iptables вообще темный лес для меня.</p>]]></content>
			<author>
				<name><![CDATA[veno]]></name>
				<uri>https://linuxforum.ru/profile.php?id=27728</uri>
			</author>
			<updated>2013-01-10T10:33:03Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=319571#p319571</id>
		</entry>
</feed>
