The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"IPtables SNAT DNAT please help!!!"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"IPtables SNAT DNAT please help!!!"
Сообщение от Camb emailИскать по авторуВ закладки on 18-Мрт-03, 16:35  (MSK)
есть gate.domain.ru, две карты, одна вовне (подняты 81.30.201.6 + 81.30.201.5)
держит зону:
gate.domain.ru. in a 81.30.201.6
www.domain.ru.  in a 81.30.201.5
вторая карта (192.168.0.1) смотрит внутрь сети..

есть внутри веб-сервак (192.168.0.200 def. gateway: 192.168.0.1)

$IPTABLES -t nat -A PREROUTING -p TCP -i $INET_IFACE -d $HTTP_IP \
--dport 80 -j DNAT --to-destination $LAN_HTTP_IP:80

это кидает внешних людей внутрь сетки на web-сервак

а как быть с локальными пользователями? (у них gateway тоже 192.168.0.1)

они набирают www.domain.ru -> resolve: 81,30,201,5 (порт есно 80)
а дальше как должен отработать iptables этот запрос пришедший на LAN_IFACE?

Спасибо!!! Читал про iptables... нормально читал.. help..

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

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

1. "IPtables SNAT DNAT please help!!!"
Сообщение от Sampan Искать по авторуВ закладки on 18-Мрт-03, 17:31  (MSK)
>а дальше как должен отработать iptables этот запрос пришедший на LAN_IFACE?

Нормально должен отработать. Но некрасиво это :-\

Весь вопрос: где лежит зона domain.ru физически?

Если у тебя BIND 9, делишь (split) зону на внешнюю и внутреннюю и для внутренней прописываешь
www.domain.ru.  in a 192.168.0.200
Для внешних все останется по-прежнему, зато локальные юзеры будут прямо на сервак ходить.

Ежели зона хостится где-то у провайдера, можно на шлюзе поставить dns forwarder (типа dnsmasq), в файле /etc/hosts прописать
192.168.0.200   www.domain.ru
и юзерам раздать через dhcp адрес nameserver - 192.168.0.1
Результат будет тот-же


  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "IPtables SNAT DNAT please help!!!"
Сообщение от Camb emailИскать по авторуВ закладки on 18-Мрт-03, 18:42  (MSK)
Да, bin9 ver. 9.2.1-2 debian

э.. split.. примерно как это сделать?

спасибо!!!!

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "IPtables SNAT DNAT please help!!!"
Сообщение от Sampan Искать по авторуВ закладки on 19-Мрт-03, 00:03  (MSK)
>Да, bin9 ver. 9.2.1-2 debian
>
>э.. split.. примерно как это сделать?

Примерно так:

named.conf (не все, только по теме)

acl internal { 172.28.0.0/16; };  # Это у меня внутри
acl external { any; };
........
options {
allow-query { any; };
allow-recursion { "internal";};
.....
};

view "int-zone" {
match-clients { "internal"; };

zone "domain.ru" {
type master;
file "int.domain.ru";
notify no;
};
......
};

view "ext-zone" {
match-clients { "external"; };

zone "domain.ru" {
type master
                        file "ext.domain.ru";
notify yes;
};
.....
};

В файле ext.domain.ru описана зона как есть сейчас, т.е. для всего интернета
А в файле int.domain.ru поставь
www.domain.ru.  IN  A    <внутренний_IP>
Если еще есть серверы в domain.ru для внутренних пользователей, их нужно так-же описать в int.domain.ru (реальные или фиктивные адреса)

Аналогично обратные зоны

>спасибо!!!!
Пожалуйста

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Sampan, громадное тебе спасибо!!! "
Сообщение от Camb emailИскать по авторуВ закладки on 19-Мрт-03, 06:53  (MSK)

это просто потрясающе!!! буду пробовать...

Спасибо!

слов нет.. так круто! )))

  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "IPtables SNAT DNAT please help!!!"
Сообщение от Camb emailИскать по авторуВ закладки on 19-Мрт-03, 19:11  (MSK)
ты знаешь, скорее всего в каждый из "view" надо засунуть зоны (которые идет стандартно) zone "." (рутовые), потом 127.0.0.1 ну и т.п. так?

а то почему-то сам сервер самому себе перестал резолвить...

(при этом внешние и внутренные получает верный резолв...)

Спасибо.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "IPtables SNAT DNAT please help!!!"
Сообщение от Sampan Искать по авторуВ закладки on 19-Мрт-03, 21:28  (MSK)
>ты знаешь, скорее всего в каждый из "view" надо засунуть зоны (которые
>идет стандартно) zone "." (рутовые), потом 127.0.0.1 ну и т.п. так?
>
Стандартные зоны достаточно запихнуть в "ext-zone"
По крайней мере, у меня в "int-zone" нету "." и "127...."

>
>а то почему-то сам сервер самому себе перестал резолвить...
>
Вероятно, по причине того, что в int.domain.ru прописано NS на наружний адрес, а не на себя "внутреннего"

Еще можно добавить
view "ext-zones" {
match-clients { "external"; };
allow-query { localhost; };              #  вот эту запись

  Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "Еще маленько осталось.... ну !!!"
Сообщение от Camb emailИскать по авторуВ закладки on 20-Мрт-03, 08:07  (MSK)
блин.. не получается ну никак...

// --- named.conf ---------

options {
        directory "/var/cache/bind";

        // - by aza -
        forwarders {
            213.24.96.233;
            213.24.96.234;
            };
        allow-query { any; };
        allow-recursion { "internal-ip"; };
        // - by aza end -

        auth-nxdomain no;    # conform to RFC1035

};


// add entries for other zones below here

// - by aza -

acl internal-ip { 172.16.0.0/16; };
acl external-ip { any; };

// - for *** internal *** users -
view "int-zone" {
    match-clients { "internal-ip"; };

    zone "bashkortostan.ru" {
        type master;
        file "/etc/bind/masters/db.int.bashkortostan.ru";
        notify no;
    };
};

// - for *** external *** clients -
view "ext-zone" {
    match-clients { "external-ip"; };
//    allow-query { localhost; }; - не помогло...

// this was as defaults
    zone "." {
        type hint;
        file "/etc/bind/db.root";
    };

    zone "localhost" {
        type master;
        file "/etc/bind/db.local";
    };

    zone "127.in-addr.arpa" {
        type master;
        file "/etc/bind/db.127";
    };

    zone "0.in-addr.arpa" {
        type master;
        file "/etc/bind/db.0";
    };

    zone "255.in-addr.arpa" {
        type master;
        file "/etc/bind/db.255";
    };
// defaults end

    zone "bashkortostan.ru" {
        type master;
        file "/etc/bind/masters/db.ext.bashkortostan.ru";
        notify yes;
    };
};

----------- ext zone file-----------
;
; Internal zone bashkortostan.ru
;
$TTL    86400
@       IN      SOA     bashkortostan.ru. root.bashkortostan.ru. (
                        2003031910      ; Serial yyyymmddxx
                        10800           ; Refresh - 3 hour
                        3600            ; Retry   - 1 hour
                        864000          ; Expire  - 10 days
                        86400 )         ; Minimum -  1 day
;
        IN      NS      ns.bashkortostan.ru.    ; primary ns
        IN      NS      nameserver.bashnet.ru.  ; slave ns
;
        IN      MX      10 mail.bashkortostan.ru.
;
localhost               A       127.0.0.1
;
bashkortostan.ru.       A       213.24.203.25
ns                      A       213.24.203.25
mail                    A       213.24.203.25
;
www                     A       213.24.203.8
ftp                     A       213.24.203.8

------------------- int zone -------------------
;
; External zone bashkortostan.ru
;
$TTL    86400
@       IN      SOA     bashkortostan.ru. root.bashkortostan.ru. (
                        2003031925      ; Serial yyyymmddxx
                        10800           ; Refresh - 3 hour
                        3600            ; Retry   - 1 hour
                        864000          ; Expire  - 10 days
                        86400 )         ; Minimum -  1 day
;
        IN      NS      ns.bashkortostan.ru.    ; primary ns
;
;       IN      MX      10 mail.bashkortostan.ru.
;
localhost               A       127.0.0.1
;
bashkortostan.ru.       A       172.16.0.250
ns                      A       172.16.0.250
mail                    A       172.16.0.250
;
www                     A       172.16.1.245
ftp                     A       172.16.1.245

------------- resolv.conf -----------------------
nameserver 127.0.0.1
search bashkortostan.ru
nameserver 213.24.96.233
nameserver 213.24.96.234

------------- daemon.log------------
starting BIND 9.2.1
using 1 CPU
loading configuration from '/etc/bind/named.conf'
no IPv6 interfaces found
listening on IPv4 interface lo, 127.0.0.1#53
listening on IPv4 interface eth0, 213.24.103.25#53
listening on IPv4 interface eth1, 172.16.0.250#53
command channel listening on 127.0.0.1#953
zone bashkortostan.ru/IN: loaded serial 2003031925
zone 0.in-addr.arpa/IN: loaded serial 1
zone 127.in-addr.arpa/IN: loaded serial 1
zone 255.in-addr.arpa/IN: loaded serial 1
zone localhost/IN: loaded serial 1
zone bashkortostan.ru/IN: loaded serial 2003031910
running
zone bashkortostan.ru/IN: sending notifies (serial 2003031910)

----------------------

пока тачка в сети не зарегена.. тока ip, поэтому извне тестирую дигом типа так: dig @my-ip some-sub.mydomain.ru

результат:

1. для internal: ок (правильно резолвит мой (дает внутр-ip) и чужие домены www.ru - 194.87.0.50 и т.п.)
2. для external: ок (верно резолвит мой домен, но не резолвит чужые иди-ка ты, мол, к рутовым днс... :)
3. для самого себя: фиг - ни секунды думая говорит:
---
mail:/var/log# ping www.ru
ping: unknown host www.ru
mail:/var/log#
----

Плиииз help!
Благодарю!

  Рекомендовать в FAQ | Cообщить модератору | Наверх

9. "Уточнение..."
Сообщение от Camb emailИскать по авторуВ закладки on 20-Мрт-03, 08:17  (MSK)
при ping www.ru
для самого себя он пытается отрезолвить www.ru.my-domain.ru  :(

вот. :(

  Рекомендовать в FAQ | Cообщить модератору | Наверх

10. "Еще одно уточнение..."
Сообщение от Camb emailИскать по авторуВ закладки on 20-Мрт-03, 08:25  (MSK)
дело в том, что на данный момент мой домен реально сущ-ет в инете... (его держат другие ns (точнее другие ip) может из-за этого траблы..
  Рекомендовать в FAQ | Cообщить модератору | Наверх

11. "Уточнение..."
Сообщение от Sampan Искать по авторуВ закладки on 20-Мрт-03, 12:23  (MSK)
>при ping www.ru
>для самого себя он пытается отрезолвить www.ru.my-domain.ru  :(
>
Это-то понятно.
Ты же ему сказал в resolv.conf
search bashkortostan.ru
вот он и добавляет к www.ru

Похоже проблема в allow-recursion { "internal-ip"; };
сделай
allow-recursion { "internal-ip"; localhost; };

  Рекомендовать в FAQ | Cообщить модератору | Наверх

12. "Уточнение..."
Сообщение от Camb emailИскать по авторуВ закладки on 22-Мрт-03, 13:42  (MSK)
Все! Отлично все работает!

Всем спасибо!!

Camb.


  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "IPtables SNAT DNAT please help!!!"
Сообщение от Camb emailИскать по авторуВ закладки on 18-Мрт-03, 18:44  (MSK)
зоан физически у меня - master name server.. внеш ip адресов свободных достаточно.

Спасибо.

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




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

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