проброс в сеть
Модераторы: SLEDopit, Модераторы разделов
-
BasilKiselev
- Сообщения: 80
- ОС: SLES
проброс в сеть
Подскажите, капаясь на форуме нашел несколько тем такого рода + еще почитал 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
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: проброс в сеть
ну чтоже я делаю нетак....
-
quadrik
- Сообщения: 350
- ОС: gentoo, только на серверах
Re: проброс в сеть
в ядре форвардинг включили?
-
quadrik
- Сообщения: 350
- ОС: gentoo, только на серверах
Re: проброс в сеть
сделай
и вообще у тебя правила слишком запутанными получились, не читаются, там должно то быть по 3 строки на каждый проброс
Код: Выделить всё
iptables -t filter -I FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPTи вообще у тебя правила слишком запутанными получились, не читаются, там должно то быть по 3 строки на каждый проброс
-
BasilKiselev
- Сообщения: 80
- ОС: SLES
Re: проброс в сеть
да и это блин тоже делал((( я думаю у меня в правилах ошибка...
-
quadrik
- Сообщения: 350
- ОС: gentoo, только на серверах
Re: проброс в сеть
разрешай только подключение из интернета к твоим серверам. обратные пакеты будут разрешены автоматически через --state RELATED,ESTABLISHED.
останется в правилах по 3 строки: dnat, snat, forward для каждого проброса
останется в правилах по 3 строки: dnat, snat, forward для каждого проброса
-
BasilKiselev
- Сообщения: 80
- ОС: SLES
Re: проброс в сеть
вот так и есть... а не работает, я и не могу понять почему????????
-
corwin
- Сообщения: 3
- ОС: Mandriva 2008.0
Re: проброс в сеть
при запросе сервака на порт 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: проброс в сеть
что то я не понял ваши правила...
-
ford1813
- Сообщения: 383
- ОС: Slackware
Re: проброс в сеть
что именно вам непонятно ?
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
-
Voler
- Сообщения: 498
- ОС: Fedora
Re: проброс в сеть
Вот рабочие правило.
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 не нужен, проверял.
Еще одно учтите, на этой машине шлюзом должен быть тот комп от куда пакет идет, а иначе работать не будет. (так что без этого не будет)
пробовал, route -p add делать не помогает.
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 не нужен, проверял.
Еще одно учтите, на этой машине шлюзом должен быть тот комп от куда пакет идет, а иначе работать не будет. (так что без этого не будет)
пробовал, route -p add делать не помогает.
-
quadrik
- Сообщения: 350
- ОС: gentoo, только на серверах
-
Voler
- Сообщения: 498
- ОС: Fedora
-
BasilKiselev
- Сообщения: 80
- ОС: SLES
Re: проброс в сеть
так всеже, вот так правильно должно быть?
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 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: проброс в сеть
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: проброс в сеть
Помогите пожалуйста написать правила.
Есть локальная сеть 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) и у себя перенаправить на глобаксовый сервер:
глобакс соединиться не может, значки модема(ppp0) не мигают совсем. Подскажите где ошибка.
P.S. подскажите еще как удалить те правила что я насоздавал...
Есть локальная сеть 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: проброс в сеть
Откуда при 192.168.100.37:1111 возьмется -d 10.211.78.65?
-
o_serg
- Сообщения: 106
Re: проброс в сеть
Откуда при 192.168.100.37:1111 возьмется -d 10.211.78.65?
сори, забыл сказать это ip инета(ppp0) он динамический
-
KiWi
- Бывший модератор
- Сообщения: 2521
- Статус: статус, статус, статус
-
o_serg
- Сообщения: 106
Re: проброс в сеть
Ещё раз -- откуда он возникнет?
Это gprs интернет, этот адрес при каждом поключении к инету разный вот что я хотел сказать. Может я его вобще не туда всунул?
-
Sleeping Daemon
- Сообщения: 1450
Re: проброс в сеть
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
- Статус: статус, статус, статус
-
quadrik
- Сообщения: 350
- ОС: gentoo, только на серверах
Re: проброс в сеть
DHCP провайдера (ОПСС) при подлключении выдает