Воскресенье
02.02.2025, 13:00
| RSS
Главная
Меню сайта

Категории раздела
Madriva [3]
Ubuntu (KUbuntu, EdUbuntu, XUbuntu) [78]
SUSE [1]
Fedora Core [9]
ASPLinux [1]
Debian [16]
Gentoo [3]
Другие [167]

Мини-чат

Наш опрос
Какую графическую среду Вы используете?
Всего ответов: 103

Статистика

Rambler's Top100Рейтинг@Mail.ru

Главная » 2010 » Июнь » 8 » Простейший Nat в linux с помощью iptables
Простейший Nat в linux с помощью iptables
09:19
Очень часто бывает нужен простой Nat чтобы дать нескольким другим компьютерам доступ в сеть. Конечно, можно поставить squid или vpn сервер, но зачем, когда можно более просто, и лаконично дать доступ? Этот небольшой пост как раз об этом. Когда я был «мал да зелен», и приобрёл второй компьютер, я зачем-то сразу полез ставить squid. Опыта было мало, а сделать нужно было. В итоге после недели мучений, я это дело бросил. Опыта и знаний явно не хватало. С iptables я тогда был незнаком, поэтому оставил это дело, и решил купить роутер, но тут один знакомый админ со стажем, подсказал мне как легко, и просто можно «раздать» сеть.

Для начала, включим форвардинг в ядре если не включен:

su
echo 1 > /proc/sys/net/ipv4/ip_forward

Для того, чтобы ядро загружалось всегда с включенным форвариднгом надо открыть файл /etc/sysctl.conf (от супер пользователя – root), и в него добавить или изменить имеющуюся строчку:

net.ipv4.ip_forward=1

Фактически сам nat делается одной командой:

sudo iptables -t nat -I POSTROUTING -s 192.168.8.0 -j MASQUERADE

Этой командой мы делаем «полный nat» для компьютера с адресом 192.168.8.0. Полный в том смысле, что всё, что видит компьютер сервер (тот, на котором nat), то видит и клиент. Если компьютеров несколько, и находятся они в одной подсети, то можно указать диапазон адресов с помощью маски:

sudo iptables -t nat -I POSTROUTING -s 192.168.8.0/255.255.255.0 -j MASQUERADE

Маска 255.255.255.0 разрешает 256 адресов. Т.е. все адрес от 192.168.8.0 до 192.168.8.255. Для расчёта диапазона адресов, рекомендую использовать какой либо из интернет калькуляторов. Например этот.

В случае если сервер видит несколько сетей, а необходимо дать доступ к одной, то это можно сделать так:

iptables -t nat -A POSTROUTING -o eth1 -s 192.168.8.0/255.255.255.0 -j MASQUERADE

На компьютере «клиенте», чтобы появилась сеть, необходимо в качестве шлюза по умолчанию (gateway), указать адрес nat сервера.

Рекомендую использовать этот способ только в домашней локальной сети. В общественной сети легко можно подменить ip адрес.
Источник:http://the-bosha.ru/2010/06/05/prosetishiy-nat-v-linux-s-pomoshiu-iptables/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+LinForAll+%28Linux+for+All.+For+users+and+Geeks%29

Категория: Другие | Просмотров: 969 | Добавил: boiko | Рейтинг: 0.0/0 |
Всего комментариев: 0
Имя *:
Email *:
Код *:
Форма входа

Поиск

Друзья сайта

  • Администрация

    Andry


    Tol


    Copyright MyCorp © 2025
    Хостинг от uCoz