Немного про NAT в CentOS
Эххх… Вот чего за всю свою не сознательную админскую жизнь не делал, так это ни разу не настраивал NAT на Linux. Почему? Да как-то было все это и не нужно мне, а тут раз и понадобилось.
Вообще, для чего нужен НАТ конкретно Вам, да и нужен ли вообще — не знаю, но я? будучи от природы крайне ленивым, предпочел его ковырянию в SQUID-е, дабы не иметь потом проблем как с пользователями так и с прочей неведомой хуйней вылезшими косяками интернет-зависимых прграмм. Да, безлимитная полоса позволяет забыть про платный пакетный трафик.
Для NAT сервера будет использоваться следующая конфигурация:
Процессор Intel DualCore 2.7 GHz
Материнская плата ASUS P5G41T-M
Память DDR3 DIMM 2GB PC10600 * 2
Винчестер WD SATA3 320Gb
Корпус Invin
Сетвая карта NoNAME * 2
В качестве системы CentOS 5.6 x86_64
Как видите — оборудование далеко не серверное, да и по полосе пропуская трафика больше 50 mbps канал не вытянет. Про пользователей вообще молчу — их не больше 100 человек. Задачи по меньшей мере скромные…
Что имеем по структуре сети? Имеем сеть 192.168.0.0/24, которая собственно в нашем случае сеть локальная, eth0. Также имеем лик до провайдера, внешний IP и прочие плюшки, eth1. Задача — организовать FULL NAT.
Для начала установи CentOS 5.6, например по этой статье. Можете включить FULL NAT в ядре. Как? Смотрите статью про включение FULL NAT на уровне ядра в CentOS 5.6. В моему случае пересборки ядра не потребуется, весь NAT будет реализован средствами IPTABLES.
Для начала разрешим шлюзу передавать транзитный трафик:
sysctl net.ipv4.ip_forward = 1
После, на всякий пожарный, очистим цепочку FORWARD:
iptables -F FORWARD
Разрешаем ходить пакетам по уже установленным соединениям:
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPTРазрешаем исходящие соединения из локальной сети к интернет хостам:
iptables -A FORWARD -m conntrack --ctstate NEW -i eth0 -s 192.168.0.0/24 -j ACCEPTОстальной транзитный трафик запрещаем:
iptables -P FORWARD DROP
Очищаем POSTROUTING цепочку таблицы nat:
iptables -t nat -F POSTROUTING
Пробрасываем весь трафик, идущий через eth1:
iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 89.250.xxx.xxx
После сохраняем правила iptables:
iptables-save > /etc/sysconfi/iptablesПерезапускаем iptables:
service iptables restart
После этого NAT полностью работоспособен. Да, не забываем NAT сервер прописать в качестве основного шлюза.
Popularity: 17% [?]
Похожие записи:
- Настройка Proftpd + MySQL + Fedora (CentOS, RHEL, etc)
- Запрещаем NAT пользователям посещать не желательные сайты с помощью iptables в CentOS 5.6
- Тюнинг Apache2
- Переменные окружения в CentOS\RHEL\Fedora\Russian Fedora
- Эксперимент с Apache2 и mod_pagespeed









Pingback: Запрещаем NAT пользователям посещать не желательные сайты с помощью iptables в CentOS 5.6 | Technical Laboratory