Пятница, 29.03.2024, 03:17
Приветствую Вас Гость | RSS

Мои записки о Линукс

Меню сайта
Наш опрос
Что вы хотите видеть на этом сайте?
Всего ответов: 228
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа



Яндекс цитирования



Фриланс работа на Freelancehunt.com

Главная » 2010 » Ноябрь » 20 » Маршрутизация всех сетевых пакетов в CentOS
18:22
Маршрутизация всех сетевых пакетов в CentOS


Недавно пришлось поднимать простенький шлюз в интернет, без  всяких примочек и дополнительных приложений. Задача стояла следующая сделать полную маршрутизацию всех сетевых пакетов из внутренней сети во внешнюю (интернет).


Для начала на шлюзе я поднял кэширующий DNS сервер.
Для того, чтобы клиенты внутренней локалки могли нормально работать с внешним миром.

Затем включил поддержку IP маршрутизации в ядро системы подредактировав файл

/etc/sysctl.conf


В данном файле в значении:

net.ipv4.ip_forward =0

Поставил 1, в итоге получил:

net.ipv4.ip_forward =1


Затем подредактировал еще один файлик (изначально он пустой), - просто вставил в него единичку

/proc/sys/net/ipv4/ip_forward


Для этого сделал следующее:

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


Проверяем:

cat /proc/sys/net/ipv4/ip_forward




Затем прописываем в iptables следующее правило:


iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o eth0 -j MASQUERADE


где вместо 192.168.100.0/24 -  вставляете адрес вашей подсети, а интерфейс eth0 - на интерфейс который у вас смотрит в интернет  (хотя как знать может быть у вас такие же адреса и интерфейсы, как и на моем щлюзе ;-) ).



Справка


iptables — утилита командной строки, является стандартным интерфейсом управления работой межсетевого экрана (брандмауэра) netfilter для ядер Linux версий 2.4 и 2.6. Для использования утилиты iptables требуются привилегии суперпользователя (root).
Иногда под словом iptables имеется в виду и сам межсетевой экран netfilter.


http://ru.wikipedia.org/wiki/Iptables




На клиентских машинах прописываем адрес интерфейса нашего шлюза, который у нас смотрит в локалку ( в моем случае это
192.168.100.100) и адрес кэширующего DNS  сервера.

Проверим интернет из локалки на клиентской машине и (если вы все сделали правильно) сохраним наше правило в iptables:

service iptables save


Через setup (можно и через chkconfig) сделаем сервис iptables загружаемым вместе с системой.



Проверим как наше правило работает, командой:


iptables -vn -L -t nat




Как видим, пакетики успешно гуляют через наш, вновь созданный маршрутизатор. Ура! ;-)

При перепечатке указание ссылки на http://centos.moy.su обязательно


Просмотров: 9282 | Добавил: 63rS3rK | Теги: полный nat, маршрутизация в CentOS, маскарадинг всех портов | Рейтинг: 5.0/2
Всего комментариев: 3
3 Serg  
1
после правки /etc/sysctl.conf
вместо echo 1 > /proc/sys/net/ipv4/ip_forward
проще sysctl -p
автоматом внесет все из /etc/sysctl.conf
sysctl -a покажет все установки

2 Мишаня  
0
Короче еще 2 спасибо! )) Все подробно разжовано

1 Мишаня  
0
Спасибо!

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск
Календарь
«  Ноябрь 2010  »
ПнВтСрЧтПтСбВс
1234567
891011121314
15161718192021
22232425262728
2930
Сайт детских журналов

Споносор для web-мастеров







Copyright MyCorp © 2024