<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Unix4Me &#187; nat</title>
	<atom:link href="http://unix4me.ru/archives/tag/nat/feed" rel="self" type="application/rss+xml" />
	<link>http://unix4me.ru</link>
	<description>*nix</description>
	<lastBuildDate>Thu, 08 Apr 2010 11:22:56 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Простая установка nat во Freebsd</title>
		<link>http://unix4me.ru/archives/3</link>
		<comments>http://unix4me.ru/archives/3#comments</comments>
		<pubDate>Fri, 20 Jun 2008 12:29:16 +0000</pubDate>
		<dc:creator>sart</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[nat]]></category>

		<guid isPermaLink="false">http://unix4me.ru/?p=3</guid>
		<description><![CDATA[У нас сервер под управлением FreeBSD(пробовал на 5 и 6 версиях) с двумя сетевыми картами. Одна карта обслуживает внутреннюю подсеть, и имеет адрес - 10.1.1.1 /24(rl0).
Ко второй карте подключен кабель от провайдера и имеет адрес - 84.52.91.91(fxp0).

Для начала нам нужно добавить в ядро несколько опций:
IPFIREWALL - включаем поддержку самого firewall'a
IPFIREWALL_VERBOSE  - это  нужно, [...]]]></description>
			<content:encoded><![CDATA[<p>У нас сервер под управлением FreeBSD(пробовал на 5 и 6 версиях) с двумя сетевыми картами. Одна карта обслуживает внутреннюю подсеть, и имеет адрес - 10.1.1.1 /24(rl0).<br />
Ко второй карте подключен кабель от провайдера и имеет адрес - 84.52.91.91(fxp0).<br />
<span id="more-3"></span><br />
Для начала нам нужно добавить в ядро несколько опций:<br />
IPFIREWALL - включаем поддержку самого firewall'a<br />
IPFIREWALL_VERBOSE  - это  нужно,  что  бы  наш  firewall смог записывать логи<br />
IPFIREWALL_VERBOSE_LIMIT=10 - данная   опция   ограничивает попадающие  в  firewall  логи,  это крайне полезная опция, она не даст сгенерироваться  большому  числу  пакетов  которое  может  привести  к переполнению  жесткого  диска,  и  вам  самим  можно будет более точно оценивать, что происходит, не копаясь в больших логах<br />
IPDIVERT  - обязательна для работы NAT<br />
TCP_DROP_SYNFIN  - эта опция нам не нужна, но ее включение будет гарантировать  полное  отбрасывание  таких  не  хороших  TCP пакетов с одновременно установленными флагами начала и завершения соединения, из собственной  практики  я  зная,  что  такие  пакеты  очень часто любят использовать хакеры<br />
ICMP_BANDLIM - сильно  снижает  число  генерируемых  машиной сообщений  об  ошибках  TCP/IP, крайне полезная опция в отбивания DOS атак</p>
<p><code>options IPFIREWALL<br />
options IPFIREWALL_VERBOSE<br />
options IPFIREWALL_VERBOSE_LIMIT=10<br />
options IPDIVERT<br />
options TCP_DROP_SYNFIN<br />
options ICMP_BANDLIM</code></p>
<p>Далее компилим у устанавливаем новое ядро(более подробно по компиляции и установки смотри /usr/src/Makefile). Теперь  когда  наше новое ядро собрано и установлено с поддержкой ipfw(ipfirewall).</p>
<p>Далее добавляем в /etc/rc.conf:</p>
<p><code>gateway_enable="YES"<br />
#<br />
# natd<br />
natd_enable="YES"<br />
natd_flags="-a 84.52.91.91"</p>
<p>#<br />
# Firewall<br />
firewall_enable="YES"<br />
firewall_script="/etc/rc.firewall"<br />
firewall_type="/etc/fw.filters"<br />
firewall_quiet="NO"<br />
firewall_logging="YES"<br />
firewall_flags=""</code></p>
<p>Создаем файл /etc/fw.filters и добавляем туда правила:</p>
<p><code>add  100  divert natd  all from 10.1.1.0/24 to any out recv rl0 xmit fxp0<br />
add  200  divert  natd all from not 10.1.1.0/24 to 84.52.91.91 recv fxp0<br />
add 65534 allow ip from any to any</code></p>
<p>Далее перегружаем сетевые настройки скриптом /etc/netstart или просто ребутим сервер и получаем сервер который nat'ит внутреннюю подсеть во внешний адрес.</p>
<p>Также можно создать правило и для одиного адреса:<br />
<code>add 100 divert natd all from 10.10.1.6 to any out recv rl0 xmit fxp0<br />
add 200 divert natd all from not 10.10.1.6 to 81.222.156.16 recv fxp0</code></p>
<p>Идея взята с opennet.ru</p>
]]></content:encoded>
			<wfw:commentRss>http://unix4me.ru/archives/3/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
