Настроить NAT с помощью iptables. ((CentOS 5.4))

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС для молодых и начинающих системных администраторов.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
Xlight
Сообщения: 139
ОС: FreeBSD-8.1

Настроить NAT с помощью iptables.

Сообщение Xlight »

Здравствуйте уважаемые!
Прошу простить за многострадальную тему!
[Поиски по форуму меня на путь истинный не наставили].

Задача:

Настроить маршрутизатор (назовем srv) таким образом, что бы приходящий трафик от одной машинки (назавем client) на порт 5555 перенаправлялся на другой компьютер на тот же порт.
Самое здесь важное для меня это возможность менять маршруты.
Готов руками, коментить, что нужно, раскоменчивать, и перезапускать сервисы.

То чего хотелось бы достичь:

Client шлет трафик на srv на определенный порт.
Необходимо настроить Srv (ныне просто железка со свежеустановленным CentOS release 5.4) на приём трафика от client и перенаправление его на один из 10 (назовем dest1,2,3..10) других компьютеров согласно моему желанию (то есть такой, своего рода, переключатель)
Идеально было бы прикрутить к этому переключателю какой нибудь веб-интерфейс, например в данный момент времени трафик форвардится на dest2, нужно переключить на dest7 ... нажимаем в браузере dest7 и из браузера отправляется команда в конфиг-файл закоментить одну строку, убрать комент с другой и перезагрузить iptables для вступления изменений в силу — Это у меня лишь теория .. на практике я даже близко не понимаю как это реализовать, поэтому прошу помощи.

Как это реализовать возможностями маршрутизатора с CentOS 5.4 на борту?

Немного возни с консолью:

Я проверил наличие пакета в системе:

[jajazergut@Centos-jajazergut ~]$ rpm -q iptables
iptables-1.3.5-5.3.el5_4.1


Также я вроде бы понял (сомневаюсь немного), что он не запущен:

[jajazergut@Centos-jajazergut ~]$ cat /etc/sysctl.conf
# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and
# sysctl.conf(5) for more details.


# Controls IP packet forwarding
net.ipv4.ip_forward = 0


# Controls source route verification
net.ipv4.conf.default.rp_filter = 1


В процессах вроде бы тоже ничего похожего на iptables не висит.
Слышал что можно создать отдельные скрипты для iptables и поместить их в автозапуск (Это делается добавлением в rc.local кажется)
Ну не смешно ли?
Спасибо сказали:
Аватара пользователя
broom
Бывший модератор
Сообщения: 1629
Статус: мизантроп.ка
ОС: Gentoo

Re: Настроить NAT с помощью iptables.

Сообщение broom »

1. Вам не нужен NAT, вам нужен port forwarding.
2. iptables одинаковый не зависимо от дистрибутива.
3. исходя из пункта 2, переношу тему в "Администрирование для начинающих".
but in the darkness, behind your smile, you scream... © Dio
Спасибо сказали:
Аватара пользователя
Ленивая Бестолочь
Бывший модератор
Сообщения: 2760
ОС: Debian; gentoo

Re: Настроить NAT с помощью iptables.

Сообщение Ленивая Бестолочь »

если вам не хочется разбираться с iptables, то вашу проблему можно решить с помощью rinetd.
http://mediaunix.com/bg/2010/03/22/redirek...-cherez-rinetd/
(там про freebsd, поэтому процесс установки, запуска и расположение конфигов у вас будет другое)
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Спасибо сказали:
Аватара пользователя
Xlight
Сообщения: 139
ОС: FreeBSD-8.1

Re: Настроить NAT с помощью iptables.

Сообщение Xlight »

Ленивая Бестолочь писал(а):
11.06.2010 19:28
если вам не хочется разбираться с iptables, то вашу проблему можно решить с помощью rinetd.
http://mediaunix.com/bg/2010/03/22/redirek...-cherez-rinetd/
(там про freebsd, поэтому процесс установки, запуска и расположение конфигов у вас будет другое)

Да дело в том, что мне хочется разобраться с iptables ... даже решить конкретную, представленную выше задачу, вот пытаюсь помаленьку приблизиться, спросить у знающих людей в какую сторону копать ...
Я уже понял, что в принципе NAT мне не нужен .. а нужно смотреть в сторону port forwarding ... Следовательно на srv можно использовать лишь один сетевой интерфейс .. так как в моей задаче маскарадинг не нужен, а необходимо лишь перенаправление ...
Глядишь и разберусь потихоньку )
Ну не смешно ли?
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Настроить NAT с помощью iptables.

Сообщение sash-kan »

где-то так
$ sudo iptables -t nat -A PREROUTING -p tcp -d $srv-in --dport $port -j DNAT --to-destination $destx
$ sudo iptables -t nat -A POSTROUTING -p tcp -d $destx --dport $port -j SNAT --to-source $srv-out

$srv-in — ip-адрес вашего srv, по которому обращаются клиенты.
$srv-out — ip-адрес вашего srv, который видят машины назначения.
$destx — ip-адрес машины назначения номер x.
$port — понятно что.

раз вы хотите использовать один и тот же порт для разных $destx, то перед добавлением этих двух правил для нового x, предыдущие, естественно, надо удалить. для этого просто замените „-A” на „-D”.

broom писал(а):
11.06.2010 18:35
Вам не нужен NAT, вам нужен port forwarding.
разве port forwarding — это не частный случай network address translation?
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
broom
Бывший модератор
Сообщения: 1629
Статус: мизантроп.ка
ОС: Gentoo

Re: Настроить NAT с помощью iptables.

Сообщение broom »

sash-kan писал(а):
11.06.2010 22:01
broom писал(а):
11.06.2010 18:35
Вам не нужен NAT, вам нужен port forwarding.
разве port forwarding — это не частный случай network address translation?

Хм. Что-то я в таком ключе не сообразила.
Спасибо. :)
but in the darkness, behind your smile, you scream... © Dio
Спасибо сказали:
Аватара пользователя
Norway
Сообщения: 26
ОС: Debian

Re: Настроить NAT с помощью iptables.

Сообщение Norway »

sash-kan,
а разве не три правила проходить должны?
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Настроить NAT с помощью iptables.

Сообщение sash-kan »

Norway писал(а):
17.06.2010 07:41
а разве не три правила проходить должны?
можно много правил добавлять в netfilter.
но что конкретно вы подразумеваете под «третьим»?
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали: