The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Настройка iptables, на которую в интернете не нашлось ответа"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Маршрутизация, NAT / Linux)
Изначальное сообщение [ Отслеживать ]

"Настройка iptables, на которую в интернете не нашлось ответа"  –1 +/
Сообщение от chuk (ok) on 25-Окт-14, 19:51 
Здесь есть гуру? Тогда мы идем к вам :)

Я не спец в настройках iptables, да и занимаюсь этим от силы раз-два  в год, и хотя пытался изучать эту непростую систему, за полгода она быстро забывается.
Поэтому до этого времени вполне довольствовался готовыми примерами, которые адаптировал к своей ситуации.
Но на один, казалось бы - простейший вопрос, в Рунете к сожалению, не нашлось ни одного вменяемого ответа.
Некоторые найденные примеры либо отталкивали своей сложностью, либо авторы сами путались в них.

Это была преамбула, теперь по сути:

Есть NAT с внешним 77.77.77.77 и внутренними интерфейсами eth0 и virbr0 (используется KVM).
Внутренняя сетка состоит из двух компьютеров - 192.168.122.101 и 192.168.122.102.

Нужно сделать перенаправление портов извне на эти компьютеры с внешних портов 15901 и 15902 соответственно на внутренние 5901 и 5902.

Максимум. что сумел сделать - это проброс внешнего порта 5901 на такой же внутренний 5901, и это работает:

iptables -t nat -A PREROUTING --dst 77.77.77.77 -p tcp --dport 5901 -j DNAT --to-destination 192.168.122.101

iptables -I FORWARD 1 -i eth0 -o virbr0 -d 192.168.122.101 -p tcp -m tcp --dport 5901 -j ACCEPT

Дальше, сколько не морщил извилины, полный тупик :(  Более того - ЛОР тоже обломился на этой задачке!
Поэтому уже начинаю сомневаться, действительно ли так проста эта задачка?..

Господа нетовцы, помогите простому юзеру в решении этой непростой задачи!
(в виде команд iptables, т.к. конфиг получатся очень большой и громоздкий).

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Настройка iptables, на которую в интернете не нашлось ответа"  +1 +/
Сообщение от tuxic (ok) on 25-Окт-14, 21:06 
>[оверквотинг удален]
> же внутренний 5901, и это работает:
> iptables -t nat -A PREROUTING --dst 77.77.77.77 -p tcp --dport 5901 -j
> DNAT --to-destination 192.168.122.101
> iptables -I FORWARD 1 -i eth0 -o virbr0 -d 192.168.122.101 -p tcp
> -m tcp --dport 5901 -j ACCEPT

> Дальше, сколько не морщил извилины, полный тупик :(  Более того -
> ЛОР тоже обломился на этой задачке!
> Поэтому уже начинаю сомневаться, действительно ли так проста эта задачка?..
> Господа нетовцы, помогите простому юзеру в решении этой непростой задачи!
> (в виде команд iptables, т.к. конфиг получатся очень большой и громоздкий).

iptables -t nat -A PREROUTING --dst 77.77.77.77 -p tcp --dport 15901 -j DNAT --to-destination 192.168.122.101:5901

iptables -I FORWARD 1 -i eth0 -o virbr0 -d 192.168.122.101 -p tcp -m tcp --dport 5901 -j ACCEPT

не?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Настройка iptables, на которую в интернете не нашлось ответа"  +/
Сообщение от PavelR (??) on 26-Окт-14, 11:34 
>[оверквотинг удален]
>> Дальше, сколько не морщил извилины, полный тупик :(  Более того -
>> ЛОР тоже обломился на этой задачке!
>> Поэтому уже начинаю сомневаться, действительно ли так проста эта задачка?..
>> Господа нетовцы, помогите простому юзеру в решении этой непростой задачи!
>> (в виде команд iptables, т.к. конфиг получатся очень большой и громоздкий).
> iptables -t nat -A PREROUTING --dst 77.77.77.77 -p tcp --dport 15901 -j
> DNAT --to-destination 192.168.122.101:5901
> iptables -I FORWARD 1 -i eth0 -o virbr0 -d 192.168.122.101 -p tcp
> -m tcp --dport 5901 -j ACCEPT
> не?

Не, т.к. не разрешены обратные пакеты.


Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Настройка iptables, на которую в интернете не нашлось ответа"  +/
Сообщение от tuxic (ok) on 26-Окт-14, 11:42 
Человек выше писал, что
> Максимум. что сумел сделать - это проброс внешнего порта 5901 на такой же внутренний 5901, и это работает

занчит либо на FORWARD стоит ACCEPT , либо соответствующее правило есть. Ему показали куда копать- дальше и сам может додумать... Ну или вы подскажите...

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Настройка iptables, на которую в интернете не нашлось ответа"  +/
Сообщение от chuk (ok) on 26-Окт-14, 14:43 
> занчит либо на FORWARD стоит ACCEPT , либо соответствующее правило есть. Ему
> показали куда копать- дальше и сам может додумать... Ну или вы подскажите...

Конечно, подскажите, пожалуйста! Потому что сам точно не дотумкаюсь :))

И что удивительно - на этот случай в интернете ни одного рабочего примера!
Вот к примеру, написал какой-то аноним якобы рабочий пример по данному случаю:

http://digitalshock.ru/перенаправлление-порта-iptables/

но увы, он тоже не работает :(


PS. Ага, оказалось, что такая придурочная англо-кирилическая ссылка на опеннете по клику не работает.
Тогда копируйте ее целиком как текст и вставляйте в браузер.
На всякий случай скопирую этот пример сюда:
    
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 25 -j DNAT --to XXX.XXX.XXX.XXX:2525
iptables -A POSTROUTING -t nat -p tcp -d XXX.XXX.XXX.XXX --dport 2525 -j SNAT --to-source YYY.YYY.YYY.YYY

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Настройка iptables, на которую в интернете не нашлось ответа"  +/
Сообщение от reader (ok) on 27-Окт-14, 11:03 
>[оверквотинг удален]
> KVM).
> Внутренняя сетка состоит из двух компьютеров - 192.168.122.101 и 192.168.122.102.
> Нужно сделать перенаправление портов извне на эти компьютеры с внешних портов 15901
> и 15902 соответственно на внутренние 5901 и 5902.
> Максимум. что сумел сделать - это проброс внешнего порта 5901 на такой
> же внутренний 5901, и это работает:
> iptables -t nat -A PREROUTING --dst 77.77.77.77 -p tcp --dport 5901 -j
> DNAT --to-destination 192.168.122.101
> iptables -I FORWARD 1 -i eth0 -o virbr0 -d 192.168.122.101 -p tcp
> -m tcp --dport 5901 -j ACCEPT

если eth0 внутренний, а проброс нужно с внешнего то -i eth0 убрать
и проверяйте правила для ответных пакетов

> Дальше, сколько не морщил извилины, полный тупик :(  Более того -
> ЛОР тоже обломился на этой задачке!
> Поэтому уже начинаю сомневаться, действительно ли так проста эта задачка?..
> Господа нетовцы, помогите простому юзеру в решении этой непростой задачи!
> (в виде команд iptables, т.к. конфиг получатся очень большой и громоздкий).

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "Настройка iptables, на которую в интернете не нашлось ответа"  +/
Сообщение от chuk (ok) on 27-Окт-14, 12:45 
> если eth0 внутренний, а проброс нужно с внешнего то -i eth0 убрать

eth0 - он внешний, это единственный здесь физический интерфейс

> и проверяйте правила для ответных пакетов

Ну да, и как это всё будет выглядеть в виде набора команд iptables ?

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "Настройка iptables, на которую в интернете не нашлось ответа"  +/
Сообщение от reader (ok) on 27-Окт-14, 15:47 
>> если eth0 внутренний, а проброс нужно с внешнего то -i eth0 убрать
> eth0 - он внешний, это единственный здесь физический интерфейс
>> и проверяйте правила для ответных пакетов
> Ну да, и как это всё будет выглядеть в виде набора команд
> iptables ?

iptables-save

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "Настройка iptables, на которую в интернете не нашлось ответа"  +/
Сообщение от chuk (ok) on 27-Окт-14, 16:01 
Спасибо, это понятно :) ,но я не о команде сохранения, а командах маршрутизации, которые нужно сохранять

> iptables-save

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

9. "Настройка iptables, на которую в интернете не нашлось ответа"  +/
Сообщение от reader (ok) on 27-Окт-14, 16:17 
> Спасибо, это понятно :) ,но я не о команде сохранения, а командах
> маршрутизации, которые нужно сохранять
>> iptables-save

вообщето я о том что уже показали бы текущие правила что бы не гадать

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

10. "Настройка iptables, на которую в интернете не нашлось ответа"  +/
Сообщение от chuk (ok) on 27-Окт-14, 17:08 
> вообщето я о том что уже показали бы текущие правила что бы
> не гадать

reader, извиняюсь, но не вполне понял ваш вопрос: вы о текущем состоянии iptables ?
Если да, то вот он, самый что ни на есть дефолтовый:

# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

11. "Настройка iptables, на которую в интернете не нашлось ответа"  +/
Сообщение от reader (ok) on 27-Окт-14, 17:28 
>[оверквотинг удален]
> :FORWARD ACCEPT [0:0]
> :OUTPUT ACCEPT [0:0]
> -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
> -A INPUT -p icmp -j ACCEPT
> -A INPUT -i lo -j ACCEPT
> -A INPUT -m state --state NEW -m tcp -p tcp --dport 22
> -j ACCEPT
> -A INPUT -j REJECT --reject-with icmp-host-prohibited
> -A FORWARD -j REJECT --reject-with icmp-host-prohibited
> COMMIT

iptables -t nat -A PREROUTING --dst 77.77.77.77 -p tcp --dport 5901 -j DNAT --to-destination 192.168.122.101

iptables -I FORWARD -o virbr0 -d 192.168.122.101 -p tcp --dport 5901 -j ACCEPT
iptables -I FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

12. "Настройка iptables, на которую в интернете не нашлось ответа"  +/
Сообщение от chuk (ok) on 27-Окт-14, 17:34 
> iptables -t nat -A PREROUTING --dst 77.77.77.77 -p tcp --dport 5901 -j DNAT --to-destination 192.168.122.101
> iptables -I FORWARD -o virbr0 -d 192.168.122.101 -p tcp --dport 5901 -j ACCEPT
> iptables -I FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

Где-то тут должен быть внешний порт 15901, не нахожу что-то

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

13. "Настройка iptables, на которую в интернете не нашлось ответа"  +/
Сообщение от reader (ok) on 27-Окт-14, 20:21 
>> iptables -t nat -A PREROUTING --dst 77.77.77.77 -p tcp --dport 5901 -j DNAT --to-destination 192.168.122.101
>> iptables -I FORWARD -o virbr0 -d 192.168.122.101 -p tcp --dport 5901 -j ACCEPT
>> iptables -I FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
> Где-то тут должен быть внешний порт 15901, не нахожу что-то

iptables -t nat -A PREROUTING --dst 77.77.77.77 -p tcp --dport 15901 -j DNAT --to-destination 192.168.122.101:5901
iptables -I FORWARD -o virbr0 -d 192.168.122.101 -p tcp --dport 5901 -j ACCEPT
iptables -I FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

14. "Настройка iptables, на которую в интернете не нашлось ответа"  +/
Сообщение от chuk (ok) on 27-Окт-14, 20:25 
> iptables -t nat -A PREROUTING --dst 77.77.77.77 -p tcp --dport 15901 -j DNAT --to-destination 192.168.122.101:5901
> iptables -I FORWARD -o virbr0 -d 192.168.122.101 -p tcp --dport 5901 -j ACCEPT
> iptables -I FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

Вау! Неужто это заработает? :)  Если да, то как мне тебя отблагодарить?

Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

15. "Настройка iptables, на которую в интернете не нашлось ответа"  +/
Сообщение от reader (ok) on 27-Окт-14, 21:37 
>> iptables -t nat -A PREROUTING --dst 77.77.77.77 -p tcp --dport 15901 -j DNAT --to-destination 192.168.122.101:5901
>> iptables -I FORWARD -o virbr0 -d 192.168.122.101 -p tcp --dport 5901 -j ACCEPT
>> iptables -I FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
> Вау! Неужто это заработает? :)  Если да, то как мне тебя
> отблагодарить?

я не откажусь если ты выучиш man и info iptables ;)

Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

16. "Настройка iptables, на которую в интернете не нашлось ответа"  +/
Сообщение от chuk (ok) on 27-Окт-14, 21:46 
> я не откажусь если ты выучиш man и info iptables ;)

Дык бесполезно :) Уже писал вверху:
> Я не спец в настройках iptables, да и занимаюсь этим от силы раз-два  в год, и хотя пытался изучать эту непростую систему, за полгода она быстро забывается.

Т.е. можно учить-учить, и даже выучить, но потом все равно без практики, как английский, оно быстро забывается.

Ладно, будь добр, выложи уж окончательный вариант этих команд в полном виде, т.е. сразу для 2-х входящих портов 15901 и 15902


Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

17. "Настройка iptables, на которую в интернете не нашлось ответа"  +/
Сообщение от reader (ok) on 27-Окт-14, 22:03 
>> я не откажусь если ты выучиш man и info iptables ;)
> Дык бесполезно :) Уже писал вверху:
>> Я не спец в настройках iptables, да и занимаюсь этим от силы раз-два  в год, и хотя пытался изучать эту непростую систему, за полгода она быстро забывается.
> Т.е. можно учить-учить, и даже выучить, но потом все равно без практики,
> как английский, оно быстро забывается.
> Ладно, будь добр, выложи уж окончательный вариант этих команд в полном виде,
> т.е. сразу для 2-х входящих портов 15901 и 15902

iptables -t nat -A PREROUTING --dst 77.77.77.77 -p tcp --dport 15901 -j DNAT --to-destination 192.168.122.101:5901
iptables -t nat -A PREROUTING --dst 77.77.77.77 -p tcp --dport 15902 -j DNAT --to-destination 192.168.122.102:5902

iptables -I FORWARD -o virbr0 -d 192.168.122.101 -p tcp --dport 5901 -j ACCEPT
iptables -I FORWARD -o virbr0 -d 192.168.122.102 -p tcp --dport 5902 -j ACCEPT

iptables -I FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

18. "Настройка iptables, на которую в интернете не нашлось ответа"  +/
Сообщение от chuk (ok) on 28-Окт-14, 16:33 
>[оверквотинг удален]
>> т.е. сразу для 2-х входящих портов 15901 и 15902
> iptables -t nat -A PREROUTING --dst 77.77.77.77 -p tcp --dport 15901 -j
> DNAT --to-destination 192.168.122.101:5901
> iptables -t nat -A PREROUTING --dst 77.77.77.77 -p tcp --dport 15902 -j
> DNAT --to-destination 192.168.122.102:5902
> iptables -I FORWARD -o virbr0 -d 192.168.122.101 -p tcp --dport 5901 -j
> ACCEPT
> iptables -I FORWARD -o virbr0 -d 192.168.122.102 -p tcp --dport 5902 -j
> ACCEPT
> iptables -I FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

Спасибо тебе большое, reader, за действенную помощь! :)

К сожалению, испытать эти правила пока не смогу, потому что сервак с виртуалками у меня уже отобрали и эксплуатируют вовсю, я до этого временно настроил его по упрощенной схеме - вместо перенаправления портов использовал обычный проброс.
Как только он ко мне вернется на профилактику - тут же испытаю.

А пока твои правила в рамочку и на стенку :)

Еще раз огромное спасибо!

Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру