LINUX.ORG.RU

Сообщения Yakuza

 

Не видны внешние интерфейсы.

Только что столкнулся с фигней, которую никак не поборю...
Есть гейт с двумя каналами в интернет и одним в локальную сеть. Все работает, iptables все разруливает, за исключением одного. Из внутренней сети невозможно достучаться до внешних IP адресов гейта... Поросто молчок, никаких отлупов. Соответвенно, если из внутренней сети обращаться к веб-серверу на этом же гейте, то никакого ответа не получаем. Наружу все работает прекрасно... Можно, конечно, через DNAT зарулить запросы на внутренний IP гейта, тогда работает. Но это прокатывает с пингами, но вот с VPN уже нет.
Форвард настроен так:
$IPTABLES -A FORWARD -p tcp -i $LAN_IFACE -s 192.168.1.0/24 --sport 1024:65535 -d 0/0 --dport 80 -j DROP
$IPTABLES -A FORWARD -p 47 -s 192.168.1.0/24 -j ACCEPT
$IPTABLES -A FORWARD -i $LAN_IFACE -j ACCEPT
$IPTABLES -A FORWARD -i $PPP_IFACE -j ACCEPT
$IPTABLES -A FORWARD -i $PPP_IFACE2 -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
А исходящие так:
$IPTABLES -A OUTPUT -p ALL -s $LO_IP -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -s $LAN_IP -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -s $INET_IP -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -s $INET_IP2 -j ACCEPT
NAT:
$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j SNAT --to-source $INET_IP
$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE2 -j SNAT --to-source $INET_IP2
$IPTABLES -t nat -A PREROUTING -p tcp -i $LAN_IFACE -d $INET_IP2 -j DNAT --to $LAN_IP
$IPTABLES -t nat -A PREROUTING -p tcp -i ppp+ -d $INET_IP2 -j DNAT --to $LAN_IP
Последние две строки - это я уже извращался, как бы увидеть свой ... ну вы понимаете... ЧТо не так ?

Yakuza
()

VPN через VPN

Не успел настроит VPN, как новая напасть. С одного компа по WInXP все отлично работает, и mppe128, и mschap-v2... Захотел начальник дома побаловаться на домашнем компе, подключенном к своему домашнему провайдеру через VPN (у него тоже XP). Рассказал ему как соединение настроить, все вроде правильно сделал, а канал не поднимается, вылетает ошибка при попытке авторизации. Посмотрел я на сервере в логах, а там вот какая хрень.
GRE: read(fd=8,buffer=8055920,len=8260) from network failed: status = -1 error = Protocol not available
CTRL: GRE read or PTY write failed (gre,pty)=(8,7)
Вот и не пойму, какой протокол и где недоступен. То ли mschap, то ли mppe, то ли вообще глюк не в этом (на другой-то XP работает).
В options.pptpd у меня вот это прописано:
ipparam PoPToP
lock
mtu 1490
mru 1490
ms-dns 192.168.1.232 // ну тут внутренний адрес сервера
proxyarp
auth
-pap
+chap
+chapms
+chapms-v2
ipcp-accept-local
ipcp-accept-remote
lcp-echo-failure 30
lcp-echo-interval 5
deflate 0
+mppe-128
mppe-stateless
require-mppe
require-mppe-stateless

Yakuza
()

Настроил VPN

Два дня бился, наконец-то настроил. Исходно было так: Debian 2.4.26, PPP 2.4.1, pptp. Удалось нормально собрать ядро только выкинув из него PPP, подгружаю модулями. Иначе - никак. ppp_mppe в ядро не компилируется, хотя все делал правильно, просто игнорировалось, а отдельно без ppp_generic не работает.
Все работает, клиент пишет типа вот что:
Тип сервера PPP
Транспорты TCP/IP
Проверка подлинности MS CHAP V2
Шифрование MPPE128
Сжатие (нет)
Формирование пакетов многоканального PPP выкл.
IP сервера 192...
IP клиента 192...

А теперь вопрос, шифрование - это как ? Шифруется весь траффик или только пароль ? Нас интересует именно шифрование всех данных.

Yakuza
()

VPN + Debian

Поставили тут такую задачку. Есть внутренняя сеть x.x.x.x с сервером под NT, все это стоит за Debian c файерволлом с внутренним адресом y.y.y.y и внешним z.z.z.z. Задача: обеспечить внешним пользователям доступ к NT серверу, на начальном этапе к одному порту. Причем пользователи не имеют статических адресов, т.е. обращаться могут из любой точки мира. vpnd посмотрел, но с ходу не въехал, документация очень скудная. Нет ли где поподробнее, как и на чем это организовать, желательно с примерами ?

Yakuza
()

Всем юзерам в Postfix

Может кто скажет с ходу: надо послать письмо всем существующим пользователям (ну тем, у кого есть логин-пароль). Чтобы не прописывая в aliases. Где копать в Postfixе ?

Yakuza
()

Проблема с приемом почты

Есть на почтовом сервере Postfix. Есть куча юзеров, принимающая почту, кто Аутлуком, кто Батом через popa3d. Периодически при приеме почты у пользователя выскакивает ошибка. Т.е до конца все письма не принимает. Опятным путем установил, что это происходит из-за кривых спамерских писем, которые валятся в ящик и не имеют Subject и самого тела письма. На таких письмах-то все и останавливается. Прибьешь такой заголовок, и все начинает работать. В последнее время это как-то стало напрягать, раз в день происходит минимум. Как побороть это ?

Yakuza
()

Продолжение про два канала в Интернет

Напомню предысторию.
Есть два канала в инет, надо чтобы через один юзера сидели, а по второму почта ходила, http запросы, bind и все такое.
Там было две проблемы. Помечаю пакеты от bind и postfix и перенаправляю их через нужный шлюз. Но от bindа все нормально, а postfix ни в какую не хотел работать через этот канал, все отправлял через дефолтный.
Вторая проблема - из внутренней сети не доступны внешние интерфейсы этих каналов. Как не настраивал iptables, все разрешал подряд. Нету и все. Через squid - пожалуйста, напрямую не видит. Вторая проблема решилась таким образом:
$IPTABLES -t nat -A PREROUTING -p tcp -i $LAN_IFACE -d $INET_IP2 -j DNAT --to $LAN_IP
Т.е. тупо транслирую запросы изнутри на внешний интерфейс на внутренний адрес. Может не очень честно, но зато работает.
А первая проблема так и не решилась.
В Postfixе настроил inet_interfaces=$hostname, как ни странно, почта стала уходить через тот интерфейс, какой нужно. Но, естесвенно, перестала приниматься из локальной сети. Как только исправляю на inet_interfaces=$hostname, $intranet начинает приниматься и из локальной сети, но отправляется уже через второй канал !!! Вообщем задолбался я уже. Брошу, надоело. Инетересно, многие ли проверяют при приеме почты соответсвие IP и hostname ? Пока вроде юзера не жалуются, что почта не доходит.

Yakuza
()

Mgetty: не поднимается PPP

Настраиваю mgetty, все вроде правильно сделал. Собрал изх исходников с AUTO_PPP опцией. При коннекте из термнлаки все замечательно, а PPP не пашет, при авторизации сразу бросает трубку.
Вот что пишет в логах:
01/12 18:08:51 yS1 CND: OKATA[0d][0a]CONNECT ** found **
01/12 18:09:02 yS1 send:
01/12 18:09:02 yS1 waiting for ``_''
01/12 18:09:02 yS1 got: 33600[0d]
01/12 18:09:02 yS1 CND: CONNECT 33600
01/12 18:09:02 yS1 CND: found: 33600[0a] ** found **
01/12 18:09:02 yS1 waiting for line to clear (VTIME), read: ~[ff]}#[c0]!}!}!} }7}"}&} }*} } }%}&}!;[ac][ae]}'}"}(}"}-}#}&[ae][96]~
01/12 18:09:02 yS1 looking for utmp entry... (my PID: 924)
01/12 18:09:02 yS1 utmp + wtmp entry made
01/12 18:09:03 yS1 tio_set_flow_control( HARD )
01/12 18:09:03 yS1 print welcome banner (/etc/issue)
01/12 18:09:03 yS1 getlogname (AUTO_PPP), read:~[ff]}#[c0]!
01/12 18:09:05 yS1 input finished with '\r', setting ICRNL ONLCR
01/12 18:09:05 yS1 tio_get_rs232_lines: status: RTS CTS DSR DTR DCD
01/12 18:09:05 yS1 login: use login config file /etc/mgetty/login.config
01/12 18:09:05 yS1 match: user='/AutoPPP/', key=''
01/12 18:09:05 yS1 match: user='/AutoPPP/', key=''
01/12 18:09:05 yS1 match: user='/AutoPPP/', key='/AutoPPP/'*** hit!
01/12 18:09:05 yS1 login: utmp entry: a_ppp
01/12 18:09:05 yS1 looking for utmp entry... (my PID: 924)
01/12 18:09:05 yS1 utmp + wtmp entry made
01/12 18:09:05 yS1 calling login: cmd='/usr/sbin/pppd', argv[]='pppd auth -chap +pap login debug'
01/12 18:09:05 yS1 setenv: 'CALLER_ID=none'
01/12 18:09:05 yS1 setenv: 'CONNECT=33600'
01/12 18:09:05 yS1 setenv: 'DEVICE=ttyS1'
01/12 18:09:05 ##### data dev=ttyS1, pid=924, caller='none', conn='33600', name='', cmd='/usr/sbin/pppd', user='/AutoPPP/'

После этого разрыв и происходит. Уж думаю, может с правами доступа что-то не так...

Yakuza
()

IPtables и два канала

Есть сервак на Debian, три сетевухи, и два инет-канала. Надо чтобы через один канал шел только почтовый, веб- и bind траффик, а через другой народ в инете шарился.
Завел в rt_tables четыре таблицы.
Состряпал вот такой скрипт:
# Метим пакеты
$IPTABLES -A PREROUTING -t mangle -p tcp -s $LAN_IP_RANGE -d 0/0 --dport 25 -j MARK --set-mark 1
$IPTABLES -A PREROUTING -t mangle -p tcp -s $LAN_IP_RANGE -d 0/0 --dport 53 -j MARK --set-mark 2
$IPTABLES -A PREROUTING -t mangle -p udp -s $LAN_IP_RANGE -d 0/0 --dport 53 -j MARK --set-mark 2
# где $LAN_IP_RANGE = 192.168.1.0/24

ip rule add fwmark 1 table mail
ip rule add fwmark 2 table bind
ip rule add from 213.67.6.2 table sitek
ip rule add from 62.1.17.194 table mtu
# Определяем правила "откуда пришло-туда и ответило"
ip route add 213.67.6.0/29 dev eth1 src 213.67.6.2 table sitek
ip route add default via 213.67.6.1 table sitek
ip route add 62.1.17.192/26 dev eth2 src 62.1.17.194 table mtu
ip route add default via 62.1.17.193 table mtu
ip route add 213.67.6.0/29 dev eth1 src 213.67.6.2
ip route add 62.1.17.192/26 dev eth2 src 62.1.17.194
# Удаляем дефолтные гейты и определяем их снова
ip route del default via 213.67.6.1
ip route del default via 62.1.17.193
ip route add default via 62.1.17.193 table mail
ip route add default via 62.1.17.193 table bind
ip route add default via 213.67.6.1
ip route flush cache

В общих чертах - вроде работает. Но почта отправляется через 213.67.6.2, а не 62.1.17.194. BIND работает так как ему сказано. А Postfix не хочет. Что за засада ?

Yakuza
()

RSS подписка на новые темы