Здравствуйте уважаемые!
Прошу простить за многострадальную тему![u]Задача:[/u]
Настроить маршрутизатор (назовем srv) таким образом, что бы приходящий трафик от одной машинки (назавем client) на порт 5555 перенаправлялся на другой компьютер на тот же порт.
Самое здесь важное для меня это возможность менять маршруты.
Готов руками, коментить, что нужно, раскоменчивать, и перезапускать сервисы.[u]То чего хотелось бы достичь:[/u]
Client шлет трафик на srv на определенный порт.
Необходимо настроить Srv (ныне просто железка со свежеустановленным CentOS release 5.4) на приём трафика от client и перенаправление его на один из 10 (назовем dest1,2,3..10) других компьютеров согласно моему желанию (то есть такой, своего рода, переключатель)
Идеально было бы прикрутить к этому переключателю какой нибудь веб-интерфейс, например в данный момент времени трафик форвардится на dest2, нужно переключить на dest7 ... нажимаем в браузере dest7 и из браузера отправляется команда в конфиг-файл закоментить одну строку, убрать комент с другой и перезагрузить iptables для вступления изменений в силу — Это у меня лишь теория .. на практике я даже близко не понимаю как это реализовать, поэтому прошу помощи.Как это реализовать возможностями маршрутизатора с CentOS 5.4 на борту?
[u]Немного возни с консолью:[/u]
Я проверил наличие пакета в системе:
[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 кажется)
iptables это модуль ядра, его и не должно быть в процессах.
скрипты создать безусловно можно :)
net.ipv4.ip_forward = 0 - поставь 1, иначе не будет форварда пакетов между интерфейсами.
А мне нужна пересылка между интерфейсами? в моем то случае ... у меня не получится например использовать только один интерфейс, с ip адресом моей сети ... что бы из этой же сети client присылал инфу на 5555 порт, а srv просто пересылал на dest1,2..10 ... Или придется полюбому во внутреннюю сеть за srv ставить client .. и использовать оба сетевых интерфейса?
>А мне нужна пересылка между интерфейсами? в моем то случае ... у
>меня не получится например использовать только один интерфейс, с ip адресом
>моей сети ... что бы из этой же сети client присылал
>инфу на 5555 порт, а srv просто пересылал на dest1,2..10 ...
>Или придется полюбому во внутреннюю сеть за srv ставить client ..
>и использовать оба сетевых интерфейса?А, ну это я невнимательно читал. В таком случае не нужно, конечно. Можно использовать один интерфейс. И придется очень хорошо обдумать, как писать правила трансляции/диверта пакетов.
>>>> И придется очень хорошо обдумать,
>>>> как писать правила трансляции/диверта пакетов.Вообще китайская грамота :) Подскажите в какую сторону смотреть!
>>>>> И придется очень хорошо обдумать,
>>>>> как писать правила трансляции/диверта пакетов.
>
>Вообще китайская грамота :) Подскажите в какую сторону смотреть! Я в том плане, что на уровне теории то всё ясно, как научиться писать эти правила? Люди учатся, блин как то. У меня с этим iptables уже крыша едет.
>>>>>> И придется очень хорошо обдумать,
>>>>>> как писать правила трансляции/диверта пакетов.
>>
>>Вообще китайская грамота :) Подскажите в какую сторону смотреть! Я в том плане, что на уровне теории то всё ясно, как научиться писать эти правила? Люди учатся, блин как то. У меня с этим iptables уже крыша едет.http://www.opennet.me/docs/RUS/iptables/#DNATTARGET
и внимательно читайте то что ниже таблички
пересылку по моему придется разрешать даже если используется один интерфейс, но могу и ошибиться, проверьте.
в CentOS есть /etc/sysconfig/iptables где и хранят правила, текущие можно туда сбросить по service iptables save, формат как и у вывода iptables-save, но можете и свой скрипт писать