проброс в сеть

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

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

BasilKiselev
Сообщения: 80
ОС: SLES

проброс в сеть

Сообщение BasilKiselev »

Подскажите, капаясь на форуме нашел несколько тем такого рода + еще почитал iptables tutorial но почему то всеже не получилось у меня... есть сервер с внешней и внут сетевой картой, имеет реал ИП со стороны инета и сетку 192.168.11.0/24 мне нужно запросы на порт 7778 закинуть в сеть на комп с адресом 11.100 а на порт 7779 в сеть на комп с адресом 11.101 так же, при запросе сервака на порт 7788 надо закинуть в сеть на комп 11.102 но не на порт который был запрошен а на порт 80 этого компа, я написал вот такой ряд правил

iptables -t nat -I PREROUTING -d 83.222.6.222 -p tcp --dport 7778 -j DNAT
--to-destination 192.168.11.100
iptables -t nat -I POSTROUTING -s 192.168.11.100 -j SNAT --to-source
83.222.6.222
iptables -t filter -I FORWARD -s 192.168.11.100 -p tcp --sport 7778 -j ACCEPT
iptables -t filter -I FORWARD -d 192.168.11.100 -p tcp --dport 7778 -j ACCEPT

iptables -t nat -I PREROUTING -d 83.222.6.222 -p tcp --dport 7779 -j DNAT
--to-destination 192.168.11.101
iptables -t nat -I POSTROUTING -s 192.168.11.101 -j SNAT --to-source
83.222.6.222
iptables -t filter -I FORWARD -s 192.168.11.101 -p tcp --sport 7779 -j ACCEPT
iptables -t filter -I FORWARD -d 192.168.11.101 -p tcp --dport 7779 -j ACCEPT

iptables -t nat -I PREROUTING -d 83.222.6.222 -p tcp --dport 7788 -j DNAT
--to-destination 192.168.11.102:80
iptables -t nat -I POSTROUTING -s 192.168.11.102 -j SNAT --to-source
83.222.6.222
iptables -t filter -I FORWARD -s 192.168.11.102 -p tcp --sport 7788 -j ACCEPT
iptables -t filter -I FORWARD -d 192.168.11.102 -p tcp --dport 7788 -j ACCEPT
iptables -t filter -I FORWARD -s 192.168.11.102 -p tcp --sport 80 -j ACCEPT
iptables -t filter -I FORWARD -d 192.168.11.102 -p tcp --dport 80 -j ACCEPT
Спасибо сказали:
BasilKiselev
Сообщения: 80
ОС: SLES

Re: проброс в сеть

Сообщение BasilKiselev »

ну чтоже я делаю нетак....
Спасибо сказали:
Аватара пользователя
quadrik
Сообщения: 350
ОС: gentoo, только на серверах

Re: проброс в сеть

Сообщение quadrik »

BasilKiselev писал(а):
13.03.2008 19:08
ну чтоже я делаю нетак....

в ядре форвардинг включили?
Спасибо сказали:
BasilKiselev
Сообщения: 80
ОС: SLES

Re: проброс в сеть

Сообщение BasilKiselev »

само собой
Спасибо сказали:
Аватара пользователя
quadrik
Сообщения: 350
ОС: gentoo, только на серверах

Re: проброс в сеть

Сообщение quadrik »

сделай

Код: Выделить всё

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

и вообще у тебя правила слишком запутанными получились, не читаются, там должно то быть по 3 строки на каждый проброс
Спасибо сказали:
BasilKiselev
Сообщения: 80
ОС: SLES

Re: проброс в сеть

Сообщение BasilKiselev »

да и это блин тоже делал((( я думаю у меня в правилах ошибка...
Спасибо сказали:
Аватара пользователя
quadrik
Сообщения: 350
ОС: gentoo, только на серверах

Re: проброс в сеть

Сообщение quadrik »

разрешай только подключение из интернета к твоим серверам. обратные пакеты будут разрешены автоматически через --state RELATED,ESTABLISHED.
останется в правилах по 3 строки: dnat, snat, forward для каждого проброса
Спасибо сказали:
BasilKiselev
Сообщения: 80
ОС: SLES

Re: проброс в сеть

Сообщение BasilKiselev »

вот так и есть... а не работает, я и не могу понять почему????????
Спасибо сказали:
corwin
Сообщения: 3
ОС: Mandriva 2008.0

Re: проброс в сеть

Сообщение corwin »

при запросе сервака на порт 7788 надо закинуть в сеть на комп 11.102 но не на порт который был запрошен а на порт 80 этого компа

Код: Выделить всё

iptables -I FORWARD 2 -i eth2 -d 192.168.11.102 -p tcp --dport 80 -j ACCEPT
iptables -t nat -I PREROUTING 1 -p tcp -d 83.222.6.222 --dport 7788 -j DNAT --to-destination 192.168.11.102:80

у меня это работает вот таким образом. eth2 - смотрит в интернет (ip 83.222.6.222)
Спасибо сказали:
BasilKiselev
Сообщения: 80
ОС: SLES

Re: проброс в сеть

Сообщение BasilKiselev »

что то я не понял ваши правила...
Спасибо сказали:
ford1813
Сообщения: 383
ОС: Slackware

Re: проброс в сеть

Сообщение ford1813 »

BasilKiselev писал(а):
14.03.2008 14:14
что то я не понял ваши правила...

что именно вам непонятно ?
iptables -t nat -I PREROUTING 1 -p tcp -d 83.222.6.222 --dport 7788 -j DNAT --to-destination 192.168.11.102:80
при запросе из интернета порта 7788 на ip 83.222.6.222 он будет попадать на ip 192.168.11.102 на 80 порт.
iptables -nL
Контакты для связи:

E-mail: ford1813@gmail.com

Telegram: @ford1813
Спасибо сказали:
Аватара пользователя
Voler
Сообщения: 498
ОС: Fedora

Re: проброс в сеть

Сообщение Voler »

Вот рабочие правило.

iptables -t nat -A PREROUTING -p tcp yyy.yyy.yyy.yyy -d xxx.xxx.xxx.xxx --dport 15081 -j DNAT --to-destination zzz.zzz.zzz.zzz:15081

где yyy.yyy.yyy.yyy - ваш ip так как мы не хотим, чтобы все подряд ходили.
где xxx.xxx.xxx.xxx - ваш внешний ip.
где zzz.zzz.zzz.zzz - ваш сервер в сети, или рабочая тачка.

15081 - ваш порт.

Forward не нужен, проверял.

Еще одно учтите, на этой машине шлюзом должен быть тот комп от куда пакет идет, а иначе работать не будет. (так что без этого не будет) :blush:

пробовал, route -p add делать не помогает.
Спасибо сказали:
Аватара пользователя
quadrik
Сообщения: 350
ОС: gentoo, только на серверах

Re: проброс в сеть

Сообщение quadrik »

Voler писал(а):
14.03.2008 15:27
Forward не нужен, проверял.

нужен. видимо, у вас для FORWARD политика ACCEPT
Спасибо сказали:
Аватара пользователя
Voler
Сообщения: 498
ОС: Fedora

Re: проброс в сеть

Сообщение Voler »

quadrik писал(а):
14.03.2008 22:14
Voler писал(а):
14.03.2008 15:27
Forward не нужен, проверял.

нужен. видимо, у вас для FORWARD политика ACCEPT


не совсем, сначала политика DROP. Потом открываю то что нужно.
Спасибо сказали:
BasilKiselev
Сообщения: 80
ОС: SLES

Re: проброс в сеть

Сообщение BasilKiselev »

так всеже, вот так правильно должно быть?

iptables -t nat -I PREROUTING -d 83.222.6.222 -p tcp --dport 7778 -j DNAT
--to-destination 192.168.11.100
iptables -t nat -I POSTROUTING -s 192.168.11.100 -j SNAT --to-source
83.222.6.222
iptables -t filter -I FORWARD -s 192.168.11.100 -p tcp --sport 7778 -j ACCEPT
iptables -t filter -I FORWARD -d 192.168.11.100 -p tcp --dport 7778 -j ACCEPT
Спасибо сказали:
Rusya89
Сообщения: 10
ОС: Slackware 12.1

Re: проброс в сеть

Сообщение Rusya89 »

BasilKiselev писал(а):
15.03.2008 23:03
так всеже, вот так правильно должно быть?

iptables -t nat -I PREROUTING -d 83.222.6.222 -p tcp --dport 7778 -j DNAT
--to-destination 192.168.11.100
iptables -t nat -I POSTROUTING -s 192.168.11.100 -j SNAT --to-source
83.222.6.222
iptables -t filter -I FORWARD -s 192.168.11.100 -p tcp --sport 7778 -j ACCEPT
iptables -t filter -I FORWARD -d 192.168.11.100 -p tcp --dport 7778 -j ACCEPT


Вот так работает у меня.

Не забываем разрешить tcp.

Код: Выделить всё

for service in 22 1111; do
                $IPTABLES -A INPUT -p tcp --dport $service -j ACCEPT
done

Указываем адреса с которых будет доступ.

Код: Выделить всё

for ip_adres in 222.222.222.222 223.223.223.223; do
        $IPTABLES -A FORWARD -p tcp -i $ADSL_IFACE -s $ip_adres -d 10.10.1.1 --dport 80 -j ACCEPT
        $IPTABLES -t nat -A PREROUTING -p tcp -d $ADSL_IP --dport 1111 -j DNAT --to-destination 10.10.1.1:80
        $IPTABLES -t nat -A POSTROUTING -p tcp --dport 80 -j SNAT --to-source $INSIDE_IP
done

$ADSL_IFACE - внешний интерфейс
$ADSL_IP - ip внешнего интерфейса
$INSIDE_IP - ip внутреннего интерфейса 10.10.1.254
10.10.1.1:80 - адрес веб сервера

P.S если нужно много слушающих портов на разные сервера лучше использовать такую схему имхо легче ориентироваться в правилах и адресах ну и портах ;)
Спасибо сказали:
o_serg
Сообщения: 106

Re: проброс в сеть

Сообщение o_serg »

Помогите пожалуйста написать правила.
Есть локальная сеть 192.168.100.*. На компе 192.168.100.37 (eth0) есть инет c динамически выделяемым IP (ppp0). на втором компе 192.168.100.222 стоит Винда с глобаксом, сервер глобакса 195.10. 212.11:1111.
нужно чтобы глобакс коннектился в инет через первый комп (192.168.100.37).
Я попробовал прописать в конфиге глобакса адрес своего компа (192.168.100.37:1111) и у себя перенаправить на глобаксовый сервер:

Код: Выделить всё

iptables -A INPUT -p udp --dport 1111 -j ACCEPT
iptables -A FORWARD -p udp -i ppp0 -s 192.168.100.222 -d 195.10.212.11 --dport 1111 -j ACCEPT
iptables -t nat -A PREROUTING -p udp -d 10.211.78.65 --dport 1111 -j DNAT --to-destination 195.10.212.11:1111
iptables -t nat -A POSTROUTING -p udp --dport 1111 -j SNAT --to-source 192.168.100.37

глобакс соединиться не может, значки модема(ppp0) не мигают совсем. Подскажите где ошибка.

P.S. подскажите еще как удалить те правила что я насоздавал...
Спасибо сказали:
Аватара пользователя
KiWi
Бывший модератор
Сообщения: 2521
Статус: статус, статус, статус

Re: проброс в сеть

Сообщение KiWi »

Откуда при 192.168.100.37:1111 возьмется -d 10.211.78.65?
Спасибо сказали:
o_serg
Сообщения: 106

Re: проброс в сеть

Сообщение o_serg »

Откуда при 192.168.100.37:1111 возьмется -d 10.211.78.65?

сори, забыл сказать это ip инета(ppp0) он динамический
Спасибо сказали:
Аватара пользователя
KiWi
Бывший модератор
Сообщения: 2521
Статус: статус, статус, статус

Re: проброс в сеть

Сообщение KiWi »

o_serg писал(а):
19.03.2008 21:28
Откуда при 192.168.100.37:1111 возьмется -d 10.211.78.65?

сори, забыл сказать это ip инета(ppp0) он динамический

Ещё раз -- откуда он возникнет?
Спасибо сказали:
o_serg
Сообщения: 106

Re: проброс в сеть

Сообщение o_serg »

Ещё раз -- откуда он возникнет?

Это gprs интернет, этот адрес при каждом поключении к инету разный вот что я хотел сказать. Может я его вобще не туда всунул?
Спасибо сказали:
Sleeping Daemon
Сообщения: 1450

Re: проброс в сеть

Сообщение Sleeping Daemon »

o_serg писал(а):
19.03.2008 19:59
Помогите пожалуйста написать правила.
Есть локальная сеть 192.168.100.*. На компе 192.168.100.37 (eth0) есть инет c динамически выделяемым IP (ppp0). на втором компе 192.168.100.222 стоит Винда с глобаксом, сервер глобакса 195.10. 212.11:1111.
нужно чтобы глобакс коннектился в инет через первый комп (192.168.100.37).
Я попробовал прописать в конфиге глобакса адрес своего компа (192.168.100.37:1111) и у себя перенаправить на глобаксовый сервер:

Код: Выделить всё

iptables -A INPUT -p udp --dport 1111 -j ACCEPT
iptables -A FORWARD -p udp -i ppp0 -s 192.168.100.222 -d 195.10.212.11 --dport 1111 -j ACCEPT
iptables -t nat -A PREROUTING -p udp -d 10.211.78.65 --dport 1111 -j DNAT --to-destination 195.10.212.11:1111
iptables -t nat -A POSTROUTING -p udp --dport 1111 -j SNAT --to-source 192.168.100.37

глобакс соединиться не может, значки модема(ppp0) не мигают совсем. Подскажите где ошибка.

P.S. подскажите еще как удалить те правила что я насоздавал...

Задача сводится к простому доступу в инет компьютера с локального (серого) адреса.
1. Прописать на компьютере с адресом 192.168.100.222 дефаулт гетвей 192.168.100.37. Или явно указать, что 95.10.212.11 достигается через 192.168.100.3.
2. Сделать след. правила в iptables:
-A FORWARD -s 192.168.100.222/32 -d 195.10. 212.11/32 -j ACCEPT
-A FORWARD -d 192.168.100.222/32 -s 195.10. 212.11/32 -j ACCEPT


-A POSTROUTING -s 192.168.100.222 -d 195.10. 212.11 -p tcp -j MASQUERADE --to-ports 1111
-A POSTROUTING -s 192.168.1.132 -d 213.206.33.214 -p udp -j MASQUERADE --to-ports 1111
Ну и возможно ICMP разрешить в форвардах сделать маскард для ICMP без порта.
Можно порт 1111 не указывать. Так же для tcp и udp. Не знаю как у Вам надо.
Спасибо сказали:
Аватара пользователя
KiWi
Бывший модератор
Сообщения: 2521
Статус: статус, статус, статус

Re: проброс в сеть

Сообщение KiWi »

o_serg писал(а):
20.03.2008 00:34
Ещё раз -- откуда он возникнет?

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

И ещё раз -- откуда он возьмётся?
Спасибо сказали:
Аватара пользователя
quadrik
Сообщения: 350
ОС: gentoo, только на серверах

Re: проброс в сеть

Сообщение quadrik »

KiWi писал(а):
20.03.2008 23:15
o_serg писал(а):
20.03.2008 00:34
Ещё раз -- откуда он возникнет?

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

И ещё раз -- откуда он возьмётся?

DHCP провайдера (ОПСС) при подлключении выдает
Спасибо сказали: