Привет!
Не могу никак настроить 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
Я слишал что возможно, но как сделать не знаю. Помогите пожалуйста.
>[оверквотинг удален]
> 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 адресу шлюза, либо статический маршрут
не работают оба варианта :(
вот мой 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
смотрите конфиг http-сервера о форуме и .htaccess файл в каталоге форума
> Из-за етого, например, форум неправильно работает. Его могут откривать только пользователи
> 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 у него заработает.
>[оверквотинг удален]
> работает Ваш знакомый системный администратор
> На публичном 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 ?
> Спасибо.
> А если я на локальном DNS сделаю так:
> 101.8.8.9 IN A 192.168.2.1
> Получится, что пользователи из серой сети обращаются к 101.8.8.9 и попадают на
> 192.168.2.1 ?Нет, у Вас все в голове перепутано! На самом деле, маршрутизация (как статическая, так и динамическая) настраивается совсем другим образом!
Для этого нужно иметь доступ к роутерам провайдера, к ядру сети. Если сеть большая, то к ее шлюзу, но так никто не делает!Я Вам подсказала два единственно верных варианта, на всех других, уверяю Вас, Вы только набьете шишки, и наступите на все возможные грабли, вспомните рене Декарта: "Все разумное действительно", и обратите наоборот: "все действительное разумно", очень не зря вопросы маршрутизации в глобальной сети решают с помощью BGP, а преобразования доменных имен с помощью DNS.
Если будете расти над собой, читать документацию, уверена, уже через годик поймете, почему.
> Я Вам подсказала два единственно верных варианта,А какой второй? Поскольку c внешним DNS проблема
>> Я Вам подсказала два единственно верных варианта,
> А какой второй? Поскольку c внешним DNS проблемаp/s/
Маршрутизацию я кажется настроил, т.к. из серой сети можно путешествовать по сайтом в белой.
Мне нужно подружить их на одном сайте. Чтоб у страничек біл один адрес.
>> А какой второй? Поскольку c внешним DNS проблемаups/ про VPN я не заметил.
>>> Я Вам подсказала два единственно верных варианта,
>> А какой второй? Поскольку c внешним DNS проблема
> p/s/
> Маршрутизацию я кажется настроил, т.к. из серой сети можно путешествовать по сайтом
> в белой.
> Мне нужно подружить их на одном сайте. Чтоб у страничек біл один
> адрес.Кстати, да, это тоже вариант, давать один URL только с внешним IP-адресом.
> А какой второй?VPN-сервер, который добавит в таблицу маршрутизации внешнего юзера подсеть 192.168.2.0/24 через VPN-сервер, внутрь Вашей локалки.
Я об этом писала. Внешнему юзеру нужно будет генерить сертификат и все такое прочее, и ему нужно будет настраивать доступ у себя на ПК.
Обычно так не делают для публичных сайтов.>Поскольку c внешним DNS проблема
Домен второго уровня(вида fialky.ru для сайта/форума про фиалки) можно купить за пару сотен рублей, не могу себе представить, какие могут быть проблемы с внешним DNS во втором десятилетии XXI-ого века!
А домен третьего уровня можно вообще часто получить бесплатно у знакомых!
> Домен второго уровня(вида fialky.ru для сайта/форума про фиалки) можно купить за пару
> сотен рублей, не могу себе представить, какие могут быть проблемы с
> внешним DNS во втором десятилетии XXI-ого века!
> А домен третьего уровня можно вообще часто получить бесплатно у знакомых!сеть внутренняя, без доступа к интернет
>> Домен второго уровня(вида fialky.ru для сайта/форума про фиалки) можно купить за пару
>> сотен рублей, не могу себе представить, какие могут быть проблемы с
>> внешним DNS во втором десятилетии XXI-ого века!
>> А домен третьего уровня можно вообще часто получить бесплатно у знакомых!
> сеть внутренняя, без доступа к интернетзначит просто в подсетях указываете шлюзом соответствующий интерфейс вашего пограничного шлюза, в пакетном фильтре вроде разрешено что нужно.
проверяете настройки web-сервера, там могут быть указаны ограничения кому можно каким ресурсом пользоваться, и все.а что такое eth2?
вишел из положения таким образом.в скрипт, корторий виводит сообщения на страницу форума добавил
$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); }
Теперь, все работает и не надо трахаться с настройками сети :)