Идея была такова - машина, смотрящая в инет имеет внутренний IP 195.168.0.1 наружный 85.158.ххх.yyy
на ней установил squid, настроил раздачу инета внутренним машинам.
И еще на адресе 192.168.0.3:80 висит apache и на той же машине 192.168.0.3 почтовый сервер - не получается пустить их в инет.
Где и что подкрутить?
Geosan: Запутался со squid'ом (а, может и не с ним)
[blockquote]cat /var/log/squid/access.log
cat /var/log/messages[/blockquote]
Что выводы говорят?
[quote]Где и что подкрутить?[/quote]
нужно сделать проброс портов (port map) с внешнего интерфейса, глядящего в инет, на интерфейс 192.168.0.3, и поднять на нём NAT для обратного взаимодействия, так:
[color=green]# Проброс для почтового сервера
iptables -t nat -A PREROUTING -i eth0 --protocol tcp --destination-port 25 -j DNAT --to-destination 192.168.0.3
# То же самое для WEB-сервера
iptables -t nat -A PREROUTING -i eth0 --protocol tcp --destination-port 80 -j DNAT --to-destination 192.168.0.3
# Теперь S'NAT для того что бы серверы могли отвечать на запросы из инета
iptables -t nat -A POSTROUTING -o eth0 --source 192.168.0.3 --protocol tcp --source-port 25 -j SNAT --to-source 85.158.ххх.yyy
# Тоже самое для Apache
iptables -t nat -A POSTROUTING -o eth0 --source 192.168.0.3 --protocol tcp --source-port 80 -j SNAT --to-source 85.158.ххх.yyy
# Обязательно ip_forward; Но желательно то же самое в конфигурации сети, в зависимости от дистрибутива.
echo "1" > /proc/sys/net/ipv4/ip_forward[/color]
Теперь на машине 192.168.0.3 указываешь шлюзом по умолчанию 192.168.0.1 и ,вроде бы ничего не забыл, всё. Ещё говорят squid умеет быть SMTP-relay, тоже можно попробовать, в качестве ретранслятора почты, как именно не знаю.
[quote=Geosan]Идея была такова - машина, смотрящая в инет имеет внутренний IP 195.168.0.1 наружный 85.158.ххх.yyy
на ней установил squid, настроил раздачу инета внутренним машинам.
[/quote]
А ты клиентам выставил параметры прокси-сервера?
[quote=Geosan]И еще на адресе 192.168.0.3:80 висит apache и на той же машине 192.168.0.3 почтовый сервер - не получается пустить их в инет.
Где и что подкрутить? [/quote]
Что значит "...не получается пустить их в инет"?
Апач должен у тебя слушать запросы на внешнем ip. Если хочешь по имени сайта, то тебе надо регистрировать домен. Через регистрацию домена и имя в инете обретёшь и почту на тот домен сможешь получать.
[quote=frug][quote]Где и что подкрутить?[/quote]
нужно сделать проброс портов (port map) с внешнего интерфейса, глядящего в инет, на интерфейс 192.168.0.3, и поднять на нём NAT для обратного взаимодействия, так:
[color=green]# Проброс для почтового сервера
iptables -t nat -A PREROUTING -i eth0 --protocol tcp --destination-port 25 -j DNAT --to-destination 192.168.0.3
# То же самое для WEB-сервера
iptables -t nat -A PREROUTING -i eth0 --protocol tcp --destination-port 80 -j DNAT --to-destination 192.168.0.3
# Теперь S'NAT для того что бы серверы могли отвечать на запросы из инета
iptables -t nat -A POSTROUTING -o eth0 --source 192.168.0.3 --protocol tcp --source-port 25 -j SNAT --to-source 85.158.ххх.yyy
# Тоже самое для Apache
iptables -t nat -A POSTROUTING -o eth0 --source 192.168.0.3 --protocol tcp --source-port 80 -j SNAT --to-source 85.158.ххх.yyy
# Обязательно ip_forward; Но желательно то же самое в конфигурации сети, в зависимости от дистрибутива.
echo "1" > /proc/sys/net/ipv4/ip_forward[/color]
Теперь на машине 192.168.0.3 указываешь шлюзом по умолчанию 192.168.0.1 и ,вроде бы ничего не забыл, всё. Ещё говорят squid умеет быть SMTP-relay, тоже можно попробовать, в качестве ретранслятора почты, как именно не знаю.[/quote]
ок спасибо, сейчас порпробую.
[quote=cin][quote=Geosan]Идея была такова - машина, смотрящая в инет имеет внутренний IP 195.168.0.1 наружный 85.158.ххх.yyy
на ней установил squid, настроил раздачу инета внутренним машинам.
[/quote]
А ты клиентам выставил параметры прокси-сервера?
[quote=Geosan]И еще на адресе 192.168.0.3:80 висит apache и на той же машине 192.168.0.3 почтовый сервер - не получается пустить их в инет.
Где и что подкрутить? [/quote]
Что значит "...не получается пустить их в инет"?
Апач должен у тебя слушать запросы на внешнем ip. Если хочешь по имени сайта, то тебе надо регистрировать домен. Через регистрацию домена и имя в инете обретёшь и почту на тот домен сможешь получать.[/quote]
Ладно уж, я конечно, ламер, но не до такой степени, есть имя www.nce.ru. Я , просто, с винды на Linux перехожу, из-за этого столько глупых вопросов. :-)
Хуже того, контора 4й день без почты и сайт не работает, клиенты весе телефоны оборвали....
<span class='smallblacktext'>[ Редактирование 14.03.2006 - 17:46:12 ]</span>
[quote=frug][quote]Где и что подкрутить?[/quote]
[color=green]# Проброс для почтового сервера
iptables -t nat -A PREROUTING -i eth0 --protocol tcp --destination-port 25 -j DNAT --to-destination 192.168.0.3
# Теперь S'NAT для того что бы серверы могли отвечать на запросы из инета
iptables -t nat -A POSTROUTING -o eth0 --source 192.168.0.3 --protocol tcp --source-port 25 -j SNAT --to-source 85.158.ххх.yyy
[/quote]
Эта штуковина заработала, НО как теперь прописать, что бы почтовый сервер мог достучаться до DNS сервера, иначе нехочет отсылать почту и отфутболивает входящую из-за невозможности разрешить имя отрапавляющего сервера.
<span class='smallblacktext'>[ Редактирование 14.03.2006 - 18:37:02 ]</span>
[b]Geosan[/b], DNS у тебя тоже на 192.168.0.3 ?
Если так, то его желательно тоже перенести на линух, а проброс делается подобным образом только по протоколам udp и tcp на порт 53.
стучись в асю, номер в профиле.
<span class='smallblacktext'>[ Редактирование 14.03.2006 - 18:58:32 ]</span>
[quote=Geosan]Ладно уж, я конечно, ламер, но не до такой степени, есть имя www.nce.ru.
[/quote]
Ну, ламером я на тебя не обзывался :-)
Просто не сразу понял суть твоей задачи. Так что сорри, что вмешался неразобравшись.
[quote=frug][b]Geosan[/b], DNS у тебя тоже на 192.168.0.3 ?
Если так, то его желательно тоже перенести на линух, а проброс делается подобным образом только по протоколам udp и tcp на порт 53.
стучись в асю, номер в профиле.
[/quote]
DNS у провайдера.
В асю постучался бы, но ее тоже перебросить через iptab надо. :-(
Счас попробую сделать аналогичный проброс для 53 порта.
Блин, времени нет нормально сесть, описание iptab почитать. ~:-(
[quote]В асю постучался бы, но ее тоже перебросить через iptab надо.[/quote]
С асей всё тоже типично и аналогично...
[color=green]iptables -t nat -A POSTROUTING -o eth0 --source 192.168.0.0/24 --protocol tcp --destination-port 5190 -j SNAT --to-source 85.158.ххх.yyy[/color]
Заметь, параметр --source указывает на сеть 192.168.0.0/255.255.255.0, предполагаю, что у тебя она такая, если нет то правь как надо, это для того, что бы все компы из этой сети могли ходит в асю через NAT.
[quote]DNS у провайдера.[/quote]
Он твой домен обслуживает ? Тогда разреши своим серверам обращаться к нему напрямую (через NAT) или же поставь у себя на шлюзе DNS-forwarder.
Можешь просто сделать полный NAT для того, что бы не указывать явно протоколы и порты, но не советую, много лишнего можно приобрести...
[color=green]iptables -t nat -A POSTROUTING -o eth0 --protocol ALL -j SNAT --to-source 85.158.ххх.yyy[/color]
Если я не хочу открывать всем АСЮ, а направлю только на мой комп, могу я вместо --source 192.168.0.0/24 написать --source 192.168.0.2?
пишу iptables -t nat -A POSTROUTING -o eth0 --protocol ALL -j SNAT --to-source 85.158.ххх.yyy, все равно почтовик до DNS не добирается и дальше IP адреса eth0 наружу не пингуется.
Как можно посмотреть состояние iptables? --list показывает пустые строки.
[blockquote]Если я не хочу открывать всем АСЮ, а направлю только на мой комп, могу я вместо --source 192.168.0.0/24 написать --source 192.168.0.2?[/blockquote]
Именно так.
[blockquote]пишу iptables -t nat -A POSTROUTING -o eth0 --protocol ALL -j SNAT --to-source 85.158.ххх.yyy, все равно почтовик до DNS не добирается и дальше IP адреса eth0 наружу не пингуется. [/blockquote]
А ты разрешил маршрутизацию пакетов ? (ip_forward) ?
[color=green]cat /proc/sys/net/ipv4/ip_forward[/color]
если покажет "1" то да, если нет, то делай.... как я уже говорил выше
далее загляни в тему [url=http://www.nclug.ru/forum_viewtopic.php?10.968]"Настройка IpTables"[/url], там много полезного.
[blockquote]Как можно посмотреть состояние iptables? --list показывает пустые строки. [/blockquote]
[color=green]iptables -L | --list[/color]
Естесственно "пустые строки" потому что по умолчанию --list отображает цепочки INPUT, OUTPUT, FORWARD таблицы filter, а так как ты использовал только таблицу nat, то её и укажи:
[color=green]iptables --list -t nat[/color]
В теме "Настройка IpTables" самой полезной оказалась инфа о том, что в ASPlinux echo "1" > /proc/sys/net/ipv4/ip_forward не фунциклирует. Изменил /etc/sysctl.conf и все заработало.
Вот только не знаю как удалить неправильно записанное правило из iptables
iptables -D 'имя цепочки' 'номер правила'. Счет правил в цепочках начинается не с 0, а с 1.

Последние комментарии
10 лет 12 недель назад
10 лет 31 неделя назад
10 лет 40 недель назад
10 лет 41 неделя назад
11 лет 30 недель назад
11 лет 30 недель назад
11 лет 30 недель назад
11 лет 31 неделя назад
11 лет 31 неделя назад
11 лет 33 недели назад