LINUX.ORG.RU
решено ФорумAdmin

Помогите настроить iptables. Задача простая.

 


1

2

Приветствую! В сетях не силен,поэтому даже много прочитав всего, все равно не получил то что хочу.

Дано: есть роутер, одной стороной смотрит в интернет, другой держит маленькую сеть 192.168.1.х частично со статичными ip. В сети есть машина А с адресом 192.168.1.50, на которую есть проброс нескольких портов на роутере, таких как 22, 8000. К самому роутеру считать что доступа нет. Доступ к А полный.

Задача : настроить iptables так, что бы заходя с интернета на машину А на 8000 порт попадать на машину B с 192.168.1.10 на порт 80. Адрес и порт с которого заходят в сеть не имеет значения = любой.

Помогите, пожалуйста, составить правила

Наверно проще будет прокинуть ssh туннель.

pavel38
()
Ответ на: комментарий от alozovskoy

Эксперементирую на домашней сети. Добавил правило, но результата не получил.Может быть ACСEPT где еще нужен? Или что то еще?

JOHN_16
() автор топика

а зачем iptables? поднимись на уровень выше и заюзай какой tcp прокси (haproxy, socat), или еще на уровень выше и заюзай nginx (если трафик http)

Bers666 ★★★★★
()
Ответ на: комментарий от alozovskoy

думаю тут нужен ещё и SNAT. Без него пакеты с 1.10 пойдут на шлюз, а не туда, откуда пришли.

anonymous
()
Ответ на: комментарий от sdio

Изначально таблицы пустые.

cat /proc/sys/net/ipv4/ip_forward 1

сейчас в роли пк А 192.168.1.2 в роли пк Б 192.168.1.50 Т.е. на А нужно настроить iptables что бы перенаправить запросы на Б. Для простоты тестирования использую 80 порты везде. На A ввожу:

linux-home:~ # iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.1.50:80 linux-home:~ # iptables-save # Generated by iptables-save v1.4.16.3 on Tue Apr 29 19:25:07 2014 *nat :PREROUTING ACCEPT [0:0] :INPUT ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] -A PREROUTING -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.1.50:80 COMMIT # Completed on Tue Apr 29 19:25:07 2014 # Generated by iptables-save v1.4.16.3 on Tue Apr 29 19:25:07 2014 *filter :INPUT ACCEPT [359:170355] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [343:42713] COMMIT # Completed on Tue Apr 29 19:25:07 2014

Пытаюсь извне зайти через роутер на 192.168.1.2:80 и ничего не происходит.

JOHN_16
() автор топика
Ответ на: комментарий от JOHN_16

Ничего и не произойдет, т.к на машине Б шлюзом по умолчанию указан роутер.Либо делай Nat на машине А для машины Б. Либо юзай какой-нибудь прокси.

CeMKa
()
Ответ на: комментарий от CeMKa

Если на Б удалить из таблицы маршрутизации шлюз по умолчанию или даже указать машину А, то все равно не проходят запросы.

Вот в том то и дело что везде куча информации о том что подобные задачи легко и не принужденно делаются по средством iptables.

JOHN_16
() автор топика
iptables -t nat -A PREROUTING -p tcp --dport 8000 -j DNAT --to-destination 192.168.1.10:80
iptables -t nat -A POSTROUTING -p tcp -d 192.168.1.10 --dport 80 -j SNAT --to-source 192.168.1.50
echo 1 > /proc/sys/net/ipv4/ip_forward

В чём проблема-то?

generator ★★★
()
Ответ на: комментарий от generator

Спасибо! Вот так никаких проблем нет, все работает как задумано.

JOHN_16
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.