The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"не могу разобраться SNAT или DNAT"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Маршрутизация, NAT / Linux)
Изначальное сообщение [ Отслеживать ]

"не могу разобраться SNAT или DNAT"  +/
Сообщение от alex320388 email(ok) on 02-Фев-11, 10:14 
Привет!
Не могу никак настроить iptables. Ситуация такая.
Есть 2 сети и шлюз между ними, на котором также работает http-сервер с сайтом
                     _____________
192.168.2.0/24 -eth0[ http-сервер ]eth1- 101.8.8.0/24
                 192.168.2.1  101.8.8.9


Пользователи "серой" сети 192.168.2.0 могут на сайт заходить только через http://192.168.2.1/index.html

Пользователи "белой" сети 101.8.8.0 - через http://101.8.8.9/index.html

Из-за етого, например, форум неправильно работает. Его могут откривать только пользователи 1 из сетей - той, что укажу в настройках.
Или, например, указиваю ссилку http://192.168.2.1/blabla.html - пользователи белой сети по ней пройти не могут.

Я хочу чтоби все пользователи могли обращаться к сайту и через http://192.168.2.1/index.html и через http://101.8.8.9/index.html

Я слишал что возможно, но как сделать не знаю. Помогите пожалуйста.


Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "не могу разобраться SNAT или DNAT"  +/
Сообщение от rusadmin (ok) on 02-Фев-11, 11:30 
>[оверквотинг удален]
>      192.168.2.1  101.8.8.9
> Пользователи "серой" сети 192.168.2.0 могут на сайт заходить только через http://192.168.2.1/index.html
> Пользователи "белой" сети 101.8.8.0 - через http://101.8.8.9/index.html
> Из-за етого, например, форум неправильно работает. Его могут откривать только пользователи
> 1 из сетей - той, что укажу в настройках.
> Или, например, указиваю ссилку http://192.168.2.1/blabla.html - пользователи белой сети
> по ней пройти не могут.
> Я хочу чтоби все пользователи могли обращаться к сайту и через http://192.168.2.1/index.html
> и через http://101.8.8.9/index.html
> Я слишал что возможно, но как сделать не знаю. Помогите пожалуйста.

Непонимаю зачем тут NAT вообще
нужно только включить пересылку пакетов в ядре и

iptables -A INPUT -s 101.8.8.0/24 -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -d 101.8.8.0/24 -p tcp --sport 80 -j ACCEPT
iptables -A INPUT -s 192.168.2.0/24 -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -d 192.168.2.0/24 -p tcp --sport 80 -j ACCEPT

Нужно если маршрутизация сетей вообще нужна
iptables -A FORWARD -s 101.8.8.0/24 -d 192.168.2.0/24 -j ACCEPT
iptables -A FORWARD -d 101.8.8.0/24 -s 192.168.2.0/24 -j ACCEPT

участники обоих сетей прекрасно будут открывать сайт например по 101.8.8.9
Главное тут чтобы у этих самих участников был прописан основной шлюз, равный ip адресу шлюза, либо статический маршрут


Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "не могу разобраться SNAT или DNAT"  +/
Сообщение от alex320388 email(ok) on 02-Фев-11, 12:22 
не работают оба варианта :(
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "не могу разобраться SNAT или DNAT"  +/
Сообщение от alex320388 email(ok) on 02-Фев-11, 12:26 
вот мой iptables

*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A POSTROUTING -o eth2 -j MASQUERADE
COMMIT
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
-A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
-A FORWARD -p icmp -j ACCEPT
-A FORWARD -i lo -j ACCEPT
-A FORWARD -o eth2 -p tcp -s 192.168.2.0/24 --dport 80 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "не могу разобраться SNAT или DNAT"  +/
Сообщение от reader (ok) on 02-Фев-11, 12:39 
смотрите конфиг http-сервера о форуме и .htaccess файл в каталоге форума
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "не могу разобраться SNAT или DNAT"  +/
Сообщение от sHaggY_caT (ok) on 02-Фев-11, 12:52 
> Из-за етого, например, форум неправильно работает. Его могут откривать только пользователи
> 1 из сетей - той, что укажу в настройках.
> Или, например, указиваю ссилку http://192.168.2.1/blabla.html - пользователи белой сети
> по ней пройти не могут.
> Я хочу чтоби все пользователи могли обращаться к сайту и через http://192.168.2.1/index.html
> и через http://101.8.8.9/index.html
> Я слишал что возможно, но как сделать не знаю. Помогите пожалуйста.

Ваша проблема решается через DNS:

1. Создаем локальный DNS-сервер
2. Создаем (используем чей-то чужой) DNS-сервер

Для форума потребуется доменное имя. В ряде случаев, можно получить бесплатное на, например, домене forum.company99119.ru, где company99119.ru доменное имя компании, где работает Ваш знакомый системный администратор

На публичном DNS-сервере, куда делегирована зона company99119.ru (будет находится под контролем этого деятеля), создается A-запись

forum.company99119.ru. IN A 101.8.8.9

На Вашем собственном локальном DNS (о его существовании должны знать пользователи локальной сети, если Вы ISP, раздавайте его через DHCP юзерам, если нет, договоритесь с ISP, что бы делегировал Вашу зону на своем DNS-кэше на Ваш DNS) создаете запись:

forum.company99119.ru. IN A 192.168.2.1

И все работает.

По-другому Вы проблему не решите, т.к. система DNS и создана для отвязки от URL, состоящих из IP-адресов, а в зону интернета Вы за любые деньги в мире не добавите маршрутизацию на подсеть 192.168.2.0/24, ведущую на Вашу железку, так как RFC не даст, и ссылка http://192.168.2.1/blabla.html у пользователя всемирной сети никогда не заработает (или будет указывать в его собственную локалку)

Правда, еще есть вариант VPN, но его нужно _настраивать_ внешнему пользователю.
Именно в этом случае http://192.168.2.1/blabla.html у него заработает.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "не могу разобраться SNAT или DNAT"  +/
Сообщение от alex320388 email(ok) on 02-Фев-11, 13:57 
>[оверквотинг удален]
> работает Ваш знакомый системный администратор
> На публичном DNS-сервере, куда делегирована зона company99119.ru (будет находится под
> контролем этого деятеля), создается A-запись
> forum.company99119.ru. IN A 101.8.8.9
> На Вашем собственном локальном DNS (о его существовании должны знать пользователи локальной
> сети, если Вы ISP, раздавайте его через DHCP юзерам, если нет,
> договоритесь с ISP, что бы делегировал Вашу зону на своем DNS-кэше
> на Ваш DNS) создаете запись:
> forum.company99119.ru. IN A 192.168.2.1
> И все работает.

Спасибо.
А если я на локальном DNS  сделаю так:
101.8.8.9 IN A 192.168.2.1

Получится, что пользователи из серой сети обращаются к 101.8.8.9 и попадают на
192.168.2.1 ?

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "не могу разобраться SNAT или DNAT"  +/
Сообщение от sHaggY_caT (ok) on 02-Фев-11, 14:02 

> Спасибо.
> А если я на локальном DNS  сделаю так:
> 101.8.8.9 IN A 192.168.2.1
> Получится, что пользователи из серой сети обращаются к 101.8.8.9 и попадают на
> 192.168.2.1 ?

Нет, у Вас все в голове перепутано! На самом деле, маршрутизация (как статическая, так и динамическая) настраивается совсем другим образом!
Для этого нужно иметь доступ к роутерам провайдера, к ядру сети. Если сеть большая, то к ее шлюзу, но так никто не делает!

Я Вам подсказала два единственно верных варианта, на всех других, уверяю Вас, Вы только набьете шишки, и наступите на все возможные грабли, вспомните рене Декарта: "Все разумное действительно", и обратите наоборот: "все действительное разумно", очень не зря вопросы маршрутизации в глобальной сети решают с помощью BGP, а преобразования доменных имен с помощью DNS.
Если будете расти над собой, читать документацию, уверена, уже через годик поймете, почему.

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "не могу разобраться SNAT или DNAT"  +/
Сообщение от alex320388 email(ok) on 02-Фев-11, 14:05 
> Я Вам подсказала два единственно верных варианта,

А какой второй? Поскольку c внешним DNS проблема

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

9. "не могу разобраться SNAT или DNAT"  +/
Сообщение от alex320388 email(ok) on 02-Фев-11, 14:07 
>> Я Вам подсказала два единственно верных варианта,
> А какой второй? Поскольку c внешним DNS проблема

p/s/
Маршрутизацию я кажется настроил, т.к. из серой сети можно путешествовать по сайтом в белой.
Мне нужно подружить их на одном сайте. Чтоб у страничек біл один адрес.

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

10. "не могу разобраться SNAT или DNAT"  +/
Сообщение от alex320388 email(ok) on 02-Фев-11, 14:09 

>> А какой второй? Поскольку c внешним DNS проблема

ups/ про VPN я не заметил.

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

12. "не могу разобраться SNAT или DNAT"  +/
Сообщение от sHaggY_caT (ok) on 02-Фев-11, 14:15 
>>> Я Вам подсказала два единственно верных варианта,
>> А какой второй? Поскольку c внешним DNS проблема
> p/s/
> Маршрутизацию я кажется настроил, т.к. из серой сети можно путешествовать по сайтом
> в белой.
> Мне нужно подружить их на одном сайте. Чтоб у страничек біл один
> адрес.

Кстати, да, это тоже вариант, давать один URL только с внешним IP-адресом.

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

11. "не могу разобраться SNAT или DNAT"  +/
Сообщение от sHaggY_caT (ok) on 02-Фев-11, 14:10 
> А какой второй?

VPN-сервер, который добавит в таблицу маршрутизации внешнего юзера подсеть 192.168.2.0/24 через VPN-сервер, внутрь Вашей локалки.
Я об этом писала. Внешнему юзеру нужно будет генерить сертификат и все такое прочее, и ему нужно будет настраивать доступ у себя на ПК.
Обычно так не делают для публичных сайтов.

>Поскольку c внешним DNS проблема

Домен второго уровня(вида fialky.ru для сайта/форума про фиалки) можно купить за пару сотен рублей, не могу себе представить, какие могут быть проблемы с внешним DNS во втором десятилетии XXI-ого века!
А домен третьего уровня можно вообще часто получить бесплатно у знакомых!


Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

13. "не могу разобраться SNAT или DNAT"  +/
Сообщение от alex320388 email(ok) on 05-Фев-11, 13:49 
> Домен второго уровня(вида fialky.ru для сайта/форума про фиалки) можно купить за пару
> сотен рублей, не могу себе представить, какие могут быть проблемы с
> внешним DNS во втором десятилетии XXI-ого века!
> А домен третьего уровня можно вообще часто получить бесплатно у знакомых!

сеть внутренняя, без доступа к интернет

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

14. "не могу разобраться SNAT или DNAT"  +/
Сообщение от reader (ok) on 05-Фев-11, 15:24 
>> Домен второго уровня(вида fialky.ru для сайта/форума про фиалки) можно купить за пару
>> сотен рублей, не могу себе представить, какие могут быть проблемы с
>> внешним DNS во втором десятилетии XXI-ого века!
>> А домен третьего уровня можно вообще часто получить бесплатно у знакомых!
> сеть внутренняя, без доступа к интернет

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

а что такое eth2?

Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

15. "не могу разобраться SNAT или DNAT"  +/
Сообщение от alex320388 (ok) on 22-Фев-11, 17:19 
вишел из положения таким образом.

в скрипт, корторий виводит сообщения на страницу форума добавил

$ip=getenv("REMOTE_ADDR");
if(ereg("192.168.", $ip)!=0) { $msg=str_replace("101.8.9.8","192.168.2.1",$msg); }
else { $msg=str_replace("192.168.2.1","101.8.9.8",$msg); }


Теперь, все работает и не надо трахаться с настройками сети :)

Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

Архив | Удалить

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




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

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