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

Перенаправление портов не работает

 , ,


0

2

Доброе...

Есть сеть впн (10.1.1.1) (Centos 6.6), на сервере есть апач с сайтами. Обмен данными между клиентами не разрешен.

В одной сети с сервером есть сервер с сайтом-статистикой (192.168.1.3).

Нужно сделать, чтобы при вводе в сроке адреса 10.1.1.1:8083 появлялся сайт 192.168.1.3

В iptables в nat прописал

-A PREROUTING -d 10.1.1.1 -p tcp -m tcp --dport 8083 -j DNAT --to-destination 192.168.1.3:80

Но не перенаправляет.

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

Как сделать так. чтобы введя 10.1.1.1:8083 - попасть на второй сервера и спокойно смотреть все страницы:?

Или может дело все в апаче?

Спасибо.



Последнее исправление: cetjs2 (всего исправлений: 1)
Ответ на: комментарий от dhameoelin

Попробовал так:

iptables -A PREROUTING -t nat -i tun0 -p tcp --dport 8083 -j DNAT --to 192.168.1.3

iptables -A FORWARD -p tcp -d 192.168.1.3 --dport 80 -j ACCEPT

тоже не помогло .. сейчас посмотрю ман

man iptables /thread

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

Но не перенаправляет.

Уверен? Смотрел снифером?

С тем правилом, что ты привел, хосту 192.168.1.3 прилетит пакет из сети 10.1.1.1, вопрос в том, сможет ли он на него ответить?

И да, как выше отметили, у тебя может быть просто закрыт путь подобному трафику через FORWARD. iptables-save в студию.

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

iptables-save

*nat
:PREROUTING ACCEPT [198:15902]
:POSTROUTING ACCEPT [71:4228]
:OUTPUT ACCEPT [62:3760]
-A PREROUTING -i tun0 -p tcp -m tcp --dport 8083 -j DNAT --to-destination 192.168.1.3:80
-A POSTROUTING -m mark --mark 0x9 -j MASQUERADE
COMMIT
# Completed on Sat Jan 10 18:10:55 2015
# Generated by iptables-save v1.4.7 on Sat Jan 10 18:10:55 2015
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [47778:9701369]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8082 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j LOG --log-prefix "[FW INPUT]:" --log-level 7
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j RH-Firewall-1-INPUT
-A FORWARD -j LOG --log-prefix "[FW FORWARD]:" --log-level 7
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -d 192.168.1.3/32 -p tcp -m tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -i eth0 -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp -m icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 8083 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 1194 -j ACCEPT
COMMIT
# Completed on Sat Jan 10 18:10:55 2015

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

тоже не помогло .. сейчас посмотрю ман

У тебя порядок действий неправильный. Меняй.

Поменял, не помогло...

Ввожу в строке адреса 10.1.1.1:8083 - ожидание истекло

firefedot
() автор топика
Ответ на: комментарий от firefedot
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -d 192.168.1.3/32 -p tcp -m tcp --dport 80 -j ACCEPT

И сразу фейл. У тебя правило с таргетом REJECT «съедает» все пакеты и следующим за ним правилам ничего не остается.

Если не нужно отправлять ICMP-сообщений на каждый заблокированный пакет, проще будет убрать это правило и установить default policy FORWARD'а в DROP.

Это касается и остальных цепочек. И да, в чем сакральный смысл цепочки RH-Firewall-1-INPUT в твоей настройке, если все можно писать в INPUT?

edigaryev ★★★★★
()
Последнее исправление: edigaryev (всего исправлений: 2)
Ответ на: комментарий от firefedot

Что это и зачем/откуда оно?

-A FORWARD -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -d 192.168.1.3/32 -p tcp -m tcp --dport 80 -j ACCEPT

Первая строка в куске выделенного мной кода нивелирует вторую.

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

Что-то я не помню таких фаервольных конструкций в 7 центоси. Это закидон 6 или отдельная приблуда какая-то?

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

Что-то я не помню таких фаервольных конструкций в 7 центоси. Это закидон 6 или отдельная приблуда какая-то?

Понятия не имею, скорей всего какая-то заглушка для гуйни/веб-панельки.

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

Вторая строчка появилась, скажем так случайно ...)

Это все из 6 центоси...

Верно понял. либо убираю либо ставлю ниже всех это:

-A FORWARD -j REJECT --reject-with icmp-host-prohibited

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

Почти верно. Тебе выше посоветовали с политиками фаера разобраться.

Откуда другие правила? Что за дурь и рукожопие? Сделал бы схему на листочке и перекроил по-нормальному.

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

Делаю проброс с сервера впн на другую машину в локальной сети с сервером.

route на той машине. но которую перенаправляю...

default         192.168.1.1     0.0.0.0         UG    0      0        0 eth0

Другие правила. это какие?

Часть открывает порты, а A RH-Firewall-1-INPUT, тут да .. тут копировал с другого сервера и не стал менять на просто инпут...

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

Ну что ты тогда хочешь? Если делаешь перенаправление портов иптаблесами, то должен учесть ограничения. В общем, советую не мучить иптаблесы, поставить rinetd. Сам так делаю постоянно. Брат жив.

turtle_bazon ★★★★★
()

вариант 1. установи политики в дроп, разреши обратную петлю, разреши нужный транзит, обруби ход инвалидам, включи поддержку установленных соединений, сделай маскарадинг, и контролируй инициированный локалкой трафик

вариант 2. редиректор - rinetd

вариант 3. туннели ssh

есть сервер с сайтом-статистикой

вариант 4. nginx

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

Хорошо, посмотрю в строну rinetd

Спасибо...

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

агап. спасибо , уже два совета про rinetd - нужно посмотреть, о нем и не думал даже

Спасибо

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

Отлично - rinetd решил проблему быстрей, чем думал...

Только оказалось что с https на https он не передает... или пока не нашел как ...

Но спасибо , уже стало гораздо понятней все...

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

Сделать всё через жёпу... Но зачем..?!

Почему бы просто не попросить openvpn выступать в режиме прокси для твоего сайта? Опенвпн вполне себе умеет разделять один порт с web сервером, к примеру, порт 443/tcp.

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

По идее, должен, он же траффик напрямую гонит.

Посмотрел, да гонит...

Но у меня 443 порт занят, а проброс с 8083 на 443 в локалку не сработал, получаю сообщение о ssl

Тут даже странно, если ввожу https://192.168.1.3 - то получаю нужную страницу (забыл сказать у меня там airtime), если http://192.168.1.3. то получаю страничку апача, в портах апача есть как раз виртуальные хосты. Не могу нормально пока пробросить, но тут видимо надо уже пробовать 443 подменить на 80 на машине с локалкой. но вот может не удастся....

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

Какое сообщение получаешь? Я просто пробрасывал так - без проблем. https и http - это потому что в апаче у тебя только https настроен. А если вводишь http, но пробрасываешь на https, то ясно, что не получится. Если https на http - тоже. Это про rinetd. Апачем или нгинксом так можно пробросить. А если в rinetd ты сделал 8083 -> 192.168.1.3:443, то тебе надо делать https://10.1.1.1

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

у меня на одном сервере был 443 занят, я поменял везде порты на одинаковые и ссл на них повесил и все заработало ...

Всем огромгное спасибо за помощь и на ценные советы по iptables

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

У меня складывается ощущение, что в кухне ТС, что-то идёт не совсем так...

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