Всем привет!
Люди, наставьте на путь истинный пожалуйста…
Дано: ASP linux, 2 сетевухи: eth0 (к ISDN c поднятым NAT) и eth1 (к LAN), squid, DNS провайдера, у пользователя (Win2k) прописан только внутренний ip ну и маска конечно.
Нужно: Не меняя настройки пользователя, настроить iptables для того чтобы ходила почта.
http трафик работает с помощью squid’а.
Вся моя проблема видимо в том ,что уже настроен NAT на ISDN и найти подходящего решения задачи в инете не могу…
Либо просто не могу провести сопоставление решений разных задач к моей…
Если вы считаете что это так, то пожалста пришлите ссылку на нужный ресурс и подскажите в каком направлении начинать копать.
Спасибо.
P.S.
Попутный вопрос.
Как правильно в моем случае настроить маршрутизацию?
[root@MAIN iproute2]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
localhost.local * 255.255.255.255 UH 0 0 0 lo
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
192.168.0.0 * 255.255.255.0 U 0 0 0 eth1
169.254.0.0 * 255.255.0.0 U 0 0 0 eth1
default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
Спасибо.
Последние комментарии
- OlegL, 17 декабря 2023 года в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
Куда ходила-то? У твоего пользователя (на Лане) есть мейловый сервер? Или просто получать? Если сервер, то открой ему дырочки iptables’ами. Или у тебя на Линухе тоже почтовый сервер стоИт?
Good Luck,
UT
Нет, своего почтового сервера нет, если поднимать свой, то как быть с мобильными пользователями? В инет открываться не хочу, да и не могу в общем :-( , почта нужна с внешних серверов mail например.
Спасибо.
Почта нужна пользователям конечно.
ну, первый глупый вопрос. потому как непонятно это из данных, данных в сообщениях.
итак: прописан ли «шлюз по умолчанию"?
если нет, то надо бы. указать там адрес этого самого Linux-а.
далее. разрешить на нём пересылку пакетов. (a.k.a. forwarding).
ну и далее настраивать разрешения на отправку почты, smtp (порт 25/tcp, хотя вот этого бы я не советовал делать для всех компьютеров. тут правильнее поднять собственный smtp-сервер для пересылки исходящей почты на сервер провайдера. +drweb/kaspersky/clamav/…. на нём).
а для приёма почты с внешних серверов разрешать pop (pop2 — 109/tcp, pop3 — 110/tcp, pop3s — 995/tcp), imap (imap2, imap4 — 143/tcp, imap3 — 220/tcp, imaps — 993/tcp).
за деталями — на opennet.ru, iptables-howto
Спасибо!
А на счет маршрутизации…
Извиняюсь за некорректный вопрос. Что конкретно непонятно?
вот это в настройках клиента:
именно это непонятно
хотя по этому поводу я уже сказал — надо настроить gw на linux
Шлюз по умолчанию у пользователя не прописан…
А без шлюза никак нельзя?
а вот это зависит от того, что же в конечном итоге хочется получить.
к примеру, если надо сделать только исходящую почту из почтового клиента, то — можно на, скажем, шлюзе, поднять почтовый сервер, который бы отправлял почту на, скажем, сервер провайдера.
тогда — прописываем адрес шлюза как сервера для отправки почты. и почта будет уходить.
забирать почту можно (с внешних почтовых серверов, и отправлять, в принципе тоже) по web интерфейсу.
если требуется другой способ приёма почты — то тут надо либо настраивать у себя полноценный почтовый домен, либо использовать fetchmail (+procmail).
Все понятно!
Огромное спасибо!
Жаль ,что мне это не подходит, обязательно занялся бы…
ну, есть ещё вариант — проксирование. socks, к примеру
есть и авторизация. но — должна быть поддержка этого самой программой.
А путную ссылку на доку (желательно на русском) по socks можете кинуть?
Авторизация тоже как вариант?
Кстати…
Еще вопросик можно?
В общем такая ситуация….
на ASP Linux 2 сетевых интерфейса
1 — (192.168.1.20) подключен к ISDN (192.168.1.1)
2 — (192.168.0.20) подключен к LAN (192.168.0.0)
GW default 192.168.1.1
[root@MAIN root]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy DROP)
target prot opt source destination
DROP all — anywhere anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
в ip_forward — 0
вопрос:
пингую из LAN — 2 интерфейс — ответ приходит!
пингую из LAN — 1 интерфейс — ответ приходит!
пингую из LAN — ISDN — ответ не приходит!
почему?
Тебя удивляет что приходит ответ при пинге второго интерфейса, или что он не приходит при пинге ISDN?
Если честно и то и другое…
Ну, почему с клиента (192.168.0.xx) не пингуется 192.168.1.1 — это, думаю, понятно.
Теперь касательно остального.
Правильно оно реагирует.
Хотя и такое поведение можно отключить.
Реально при пинговании хоста (под linux, windows,….) по любому его адресу он будет отвечать на запросы. Главное, что бы ответные пакеты правильно уходили.
К примеру. host1 имеет 2 интерфейса: eth0, 192.168.23.5 и eth1, 195.12.34.56, кроме того, есть ещё lo, 127.0.0.1
Есть и host2, у которого только eth0, 192.168.23.40 и lo, 127.0.0.1. При этом на host2 установлен gw — host1, 192.168.23.5.
[user@host2:~]$ ping 192.168.23.5
… успешно.. и понятно почему.
[user@host2:~]$ ping 195.12.34.56
… тоже успешно, хоть пусть и выключен форвардинг. потому как host2, видя, что адрес назначения не может быть напрямую доступен по eth0, отправляет своему gw на рассмотрение. а тот «аа. запрос на этот адрес даже форвардить-то не надо. отвечаем…».
[user@host2:~]$ su
Password:
[root@host2:/home/user]# ifconfig lo 254.0.0.1
[root@host2:/home/user]# ping 127.0.0.1
…. !!!!!!!!! отвечать будет host1
;)
Отправлять за разъяснениями в rfc по ip, где это описано, не буду, а где ещё рассказывается — не знаю. (гугль сходу тож молчит)
За разъяснения спасибо,
но к сожалению это:
как раз и не понятно.
Потому вродебы как 192.168.1.20 пингует, а 192.168.1.1 — нет! (почему?)
Ведь на 192.168.1.20 GW default — 192.168.1.1 прописан!
Как не понятно и:
Ты же сам в IPTABLES forward закрыл и в ip_forward 0 поставил, как же оно тебе будет пинговать внешнюю сетку?
А насчет второго непонятного — еще раз:
Если до компа доходит пинг адреса, совпадающий с адресом любого его интерфейса — он отвечает на пинг. А насчёт 127.0.0.1 — это просто такой красивый пример :)
Только что все открыл и проверил…
Ничего не изменилось!!!!
А на счет 2 хостов все понятно, Спасибо!
Вот конфиг iptables на домашнем шлюзе. (ну и что, что на gprs…)
Для работы этого «счастья» надо, чтобы были загружены модули:
Мда. Спать надо больше. Или работать меньше — я ещё не решил :)
Я что-то и не подумал, что такие вещи только sнатом делаются.
В данном случае маскарадинг не нужен — скорее именно sнат.
Кстати сейчас ради интереса проверил ТАКУЮ ситуацию:
У меня на компе 2 сетевухи:
192.168.0.10 подключен напрямую к ASP и 192.168.1.7 в SWITCH
На ASP тоже 2 сетевухи:
192.168.0.20 подключен напрямую ко мне и 192.168.1.20 в SWITCH
ISDN 192.168.1.1 тоже включен в SWITCH.
Так вот когда я подключаю 1 сетевуху, т.е. напрямую к ASP, то при пинге происходит вышеуказанная ситуация.
НО!
когда я подключаю 2 сетевуху, т.е. через SWITCH, то ping ответ от 192.168.0.20 не возвращается!
Почему, ведь хост один?
Всё, выключаюсь из темы. Из последнего поста не понял ни слова.
За конфиг конечно спасибо.
Я так понимаю, что мне просто SNAT включить надо и ВСЕ?
А маскарад для меня подойдет?
Нат у меня поднят уже на ISDN!
Как я тебя понимаю…. Вот только понять-то я понял, что и как оно..
НО: из того, что рисуется по словам, абсолютно непонятно, для чего такая конструкция и что в конечном итоге хотелось бы получить? ;)
Маскарад тебе не нужен.
Если нат поднят — покажи вывод
iptables -t nat -L, ifconfig и route
на шлюзе. Ну и все-таки вывод cat /proc/sys/net/ipv4/ip_forvard на всякий случай.
:)))
Конструкция всего навсего для настройки…
за не имением отдельно стоящих машин… знаете…
приходится извращатся как можно….
я уже и сам устал с сетевухи на сетевуху переключаться хорошо, что хоть есть великая вешь — Терминал! иначе еще ко второй машине скакать пришлось бы… :))
Хотя в конце рабочего дня и от этого не легче… :(
Ну эт пожалста:
[root@MAIN root]# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
[root@MAIN root]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:04:79:66:16:B8
inet addr:192.168.1.20 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:6906 errors:0 dropped:0 overruns:1 frame:0
TX packets:306 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:703223 (686.7 Kb) TX bytes:61381 (59.9 Kb)
Interrupt:17 Base address:0xac00
eth1 Link encap:Ethernet HWaddr 00:50:22:B1:30:C8
inet addr:192.168.0.20 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:257 errors:0 dropped:0 overruns:0 frame:0
TX packets:165 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:28730 (28.0 Kb) TX bytes:14811 (14.4 Kb)
Interrupt:18 Base address:0×6e00
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:10 errors:0 dropped:0 overruns:0 frame:0
TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:700 (700.0 b) TX bytes:700 (700.0 b)
[root@MAIN root]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
192.168.0.0 * 255.255.255.0 U 0 0 0 eth1
169.254.0.0 * 255.255.0.0 U 0 0 0 eth1
127.0.0.0 * 255.0.0.0 U 0 0 0 lo
default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
[root@MAIN root]# cat /proc/sys/net/ipv4/ip_forward
1
!!! НАТ на ISDN !!!
Стоп. Что значит «нат на ISDN"? Где именно поднят нат и какие машины он натит и куда?
для настройки чего? ;)
вывод iptables-save в студию ;)
чтоб конфиг был по типу моего.
[root@MAIN root]# iptables-save
# Generated by iptables-save v1.2.9 on Fri Sep 17 08:39:36 2004
*filter
:INPUT ACCEPT [641:80344]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [341:35453]
COMMIT
# Completed on Fri Sep 17 08:39:36 2004
# Generated by iptables-save v1.2.9 on Fri Sep 17 08:39:36 2004
*nat
:PREROUTING ACCEPT [9174:1175550]
:POSTROUTING ACCEPT [18:1130]
:OUTPUT ACCEPT [16:1022]
COMMIT
# Completed on Fri Sep 17 08:39:36 2004
[root@MAIN root]#
Решил разграничить доступ в инет…
НАТ поднят на ISDN PipeLine 75.
Он натит машины моей сети на мой внешний IP (213.242.Х.Х), который мне любезно предоставил провайдер.
итак, в данный конкретный момент ISDN железка не отвечает (так видит клиент) на запросы с адреса 192.168.0.* по той простой причине, что оно не *туда* отправляет ответные пакеты.
так как адрес назначения с точки зрания ISDN маршрутизатора не принадлежит ethernet, он отправляет его в ISDN. ответные пакеты не доходят до клиента.
либо настроить на этом устройстве маршрут до 192.168.0.*, либо настроить на asp-е SNAT/MASQUERADE (в общем-то, маскарадинг — частный случай SNAT-а)
Даешь SNAT!
Всем большое спасибо, особенно Genie и Dreid.
Это самый лучший форум! (я серьезно).
я так думаю, для того и стараемся… :)
У меня ПОЛУЧИЛОСЬ!!!!!!!
:))
Спасибо.
Правда не SNAT, а MASQUERADE, но это я думаю не столь важно.