Публикации

Freebsd JAIL + VNET двойной запуск rc?

Есть машина с jailaми, которые админятся через ezjail в который прикручен сетевой стек. Конфиг выглядет так.

# To specify the start up order of your ezjails, use these lines to # create a Jail dependency tree. See rcorder(8) for more details. # # PROVIDE: standard_ezjail # REQUIRE: # BEFORE: # export jail_vpn0_rooml_ru_flags="-c vnet name=vpn0_rooml_ru allow.raw_sockets=1 allow.sysvipc=1" # export jail_vpn0_rooml_ru_hostname=«vpn0.rooml.ru» # export jail_vpn0_rooml_ru_exec_prestart0=«ifconfig epair0 create» export jail_vpn0_rooml_ru_exec_prestart1=«ifconfig bridge0 addm epair0a» export jail_vpn0_rooml_ru_exec_prestart2=«ifconfig epair0a up» # #export jail_vpn0_rooml_ru_exec_start="/bin/sh /etc/rc" # export jail_vpn0_rooml_ru_exec_poststart0=«ifconfig epair0b vnet vpn0_rooml_ru» export jail_vpn0_rooml_ru_exec_poststart1=«jexec vpn0_rooml_ru ifconfig lo0 127.0.0.1» export jail_vpn0_rooml_ru_exec_poststart2=«jexec vpn0_rooml_ru ifconfig epair0b 192.168.5.2/24 up» export jail_vpn0_rooml_ru_exec_poststart3=«jexec vpn0_rooml_ru route add default 192.168.5.1» export jail_vpn0_rooml_ru_exec_poststart4=«jexec vpn0_rooml_ru /etc/rc.d/ipfw start» export jail_vpn0_rooml_ru_exec_poststart5=«jexec vpn0_rooml_ru /bin/sh /etc/rc» # #export jail_vpn0_rooml_ru_exec_poststop0=«jexec vpn0_rooml_ru /bin/sh /etc/rc.shutdown» #export jail_vpn0_rooml_ru_exec_poststop1=«ifconfig bridge0 deletem epair0a» #export jail_vpn0_rooml_ru_exec_poststop2=«ifconfig epair0a destroy» # export jail_vpn0_rooml_ru_ip="" export jail_vpn0_rooml_ru_rootdir="/usr/home/main/jail/vpn0.rooml.ru" #export jail_vpn0_rooml_ru_exec_start1="/bin/sh /etc/rc" export jail_vpn0_rooml_ru_exec_stop="" export jail_vpn0_rooml_ru_mount_enable=«YES» export jail_vpn0_rooml_ru_devfs_enable=«YES» export jail_vpn0_rooml_ru_devfs_ruleset=«devfsrules_jail» export jail_vpn0_rooml_ru_procfs_enable=«YES» export jail_vpn0_rooml_ru_fdescfs_enable=«YES» export jail_vpn0_rooml_ru_image="" export jail_vpn0_rooml_ru_imagetype="" export jail_vpn0_rooml_ru_attachparams="" export jail_vpn0_rooml_ru_attachblocking="" export jail_vpn0_rooml_ru_forceblocking="" export jail_vpn0_rooml_ru_zfs_datasets="" export jail_vpn0_rooml_ru_cpuset="" export jail_vpn0_rooml_ru_fib="" export jail_vpn0_rooml_ru_parentzfs="" export jail_vpn0_rooml_ru_parameters="" export jail_vpn0_rooml_ru_post_start_script=""
Читать дальше

Проблемы (возможно) с диском под ESXi 5.1 у Hetzner?

«Внезапно» перестали заводиться виртуалки под ESXi 5.1 на сервере «с дешевым несерверным железом» у Хетцнера. Сам хост заводится, могу зайти на него по ssh. Еще могу зайти на сбойный диск и сделать ls и прочитать некоторые файлы, но большинство попыток прочитать другие файлы заканчивается так:

/vmfs/volumes/5060d5c3-875cbeb8-a8d3-406186e9d73d/Gentoo# tail -f vmware.log
tail: can't open 'vmware.log': Input/output error
tail: no files

Есть слабая надежда, что ситуацию можно исправить запустив какую-ту команду для проверки и восстановления файловой системы. Возможно, кто-то сталкивался с подобной проблемой и знает эти волшебные слова.

Вот фрагмент из /var/log/vmkernel.log, который, на мой взгляд, имеет отношение к этой проблеме.
Читать дальше

OpenVPN-клиент и сервер на одной машине для других OpenVPN-клиентов

Описание задачи:
На одной машине поднят OpenVPN-сервер и OpenVPN-клиент.
Клиент с адресом 10.6.6.12 смотрит в корпоративную сеть и ее подсети (таблица маршрутизации прилагается).
Нужно чтобы любой другой клиент (уже самого сервера) видел эти же подсети.

Данные:
eth0 Link encap:Ethernet HWaddr 00:1c:14:01:2f:84
inet addr:111.111.111.100 Bcast:111.111.111.101 Mask:255.255.255.240
inet6 addr: fe80::21c:14ff:fe01:2f84/64 Scope:Link

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1

tap0 Link encap:Ethernet HWaddr 76:e9:2e:da:18:3c
inet addr:10.6.6.12 Bcast:10.6.6.255 Mask:255.255.255.0
inet6 addr: fe80::74e9:2eff:feda:183c/64 Scope:Link
Читать дальше

Заставить работать Samba 4

Система ArchLinux, имеется минимальный конфиг:
[server@dga-serv ~]$ cat /etc/samba/smb.conf [global] workgroup = WORKGROUP security = user [Pomoika] path = /mnt/p1/ guest ok = yes read only = No

проверяем конфиг:
[server@dga-serv ~]$ testparm -s /etc/samba/smb.conf Load smb config files from /etc/samba/smb.conf rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384) Processing section "[Pomoika]" Loaded services file OK. Server role: ROLE_STANDALONE [global] idmap config *: backend = tdb [Pomoika] path = /mnt/p1/ read only = No guest ok = Yes

запускаем:
sudo systemctl start smbd nmbd

проверяем:

[server@dga-serv ~]$ ps -ef | grep smbd root 1485 1 0 17:38? 00:00:00 /usr/bin/smbd -D root 1488 1485 0 17:38? 00:00:00 /usr/bin/smbd -D server 1616 1150 0 17:58 pts/0 00:00:00 grep smbd [server@dga-serv ~]$ ps -ef | grep nmbd root 1483 1 0 17:38? 00:00:00 /usr/bin/nmbd -D server 1628 1150 0 17:59 pts/0 00:00:00 grep nmbd Проверяем Samba: [server@dga-serv ~]$ smbclient -L localhost -U% protocol negotiation failed: NT_STATUS_CONNECTION_DISCONNECTED

Получающий соединитель для Exchange 2007

Здравствуйте, друзья.
Прошу помощи у специалистов по MS Exchange 2007.

Такое дело: пытаюсь создать соединитель отправки, через который смогу посылать письма из командной строки, телнетом. Перепробовал все варианты — ничего не получается :( Какие бы способы проверки подлинности не указывал, неизменно возвращается такая ошибка:
# telnet mx.domain.local 250 Trying 192.168.1.3… Connected to mx.domain.local. Escape character is '^]'. 220 mx.domain.local Microsoft ESMTP MAIL Service ready at Tue, 6 Aug 2013 13:10:10 +0700 EHLO 250-mx.domain.local Hello [192.168.1.7] 250-SIZE 10485760 250-PIPELINING 250-DSN 250-ENHANCEDSTATUSCODES 250-AUTH LOGIN 250-8BITMIME 250-BINARYMIME 250 CHUNKING AUTH LOGIN 334 VXNlcm5hbWU6 bm90aWZpZXI= 334 UGFzc3dvcmQ6 bm90aWZpZXI= 535 5.7.3 Authentication unsuccessful QUIT 221 2.0.0 Service closing transmission channel Connection closed by foreign host.

В общем не проходит аутентификация. Пользователь конечно создан, логин/пароль передаю, как видите, в base64 (notifier/notifier) Уже всю голову сломал. Помогите советом :(

ISPManager + Exim

1. Не работает DKIM.
2. Разные заголовки при отправке через PHP и ISPManager webmail.

exim.con то что менялfbegin transports
DKIM_DOMAIN = ${lc:${domain:$h_from:}}
DKIM_FILE = /etc/exim/dkim/${lc:${domain:$h_from:}}.pem
DKIM_PRIVATE_KEY = ${if exists{DKIM_FILE}{DKIM_FILE}{0}}
remote_smtp:
driver = smtp

.ifdef DKIM_ENABLE
dkim_domain = DKIM_DOMAIN
dkim_selector = mail
dkim_private_key = DKIM_PRIVATE_KEY
dkim_canon = relaxed
dkim_strict = 0
.endif

Dovecot + Mail.ru: PAM_USER_UNKNOWN

Добрый день.

Пытаюсь настроить на mail.ru забор почты по POP3 со своего почтового сервера(postfix+dovecot).

С этого же сервера успешно забирают почту Gmail, Яндекс и TheBat, никогда никаких проблем не было.

Но Mail.ru ругается: «Соединение с сервером прошло успешно, но авторизоваться не удалось. Проверьте правильность имени ящика и пароля. „

В логах видно, что PAM не может найти пользователя. Естественно пользователь есть, да и другие клиенты авторизуются без проблем. Может кто-то уже сталкивался с подобным?

Нужен вариант именно с авторизацией через PAM.

В mail.log

Jul 26 12:32:26 actionlist dovecot: auth: Debug: auth client connected (pid=24277)
Jul 26 12:32:26 actionlist dovecot: auth: Debug: client in: AUTH 1 PLAIN service=pop3 lip=my_ip rip=209.85.219.7 lport=110 rport=64292 resp=Jul 26 12:32:26 actionlist dovecot: auth-worker: Debug: pam(info_ru,209.85.219.7): lookup service=dovecot
Jul 26 12:32:26 actionlist dovecot: auth-worker: Debug: pam(info_ru,209.85.219.7): #1/1 style=1 msg=Password:
Читать дальше

Удалить старый сертификат (debian)?

Добрый день.

Никак не могу найти как удалить сертификат, гугл в основном показывает как «заглушить», а мне бы удалить нормально и по новой запросить, на новых машинах все работает.

сервер на debain 5

в /etc/ssl/certs очень много файлов, какой из них удалять непонятно.

site:~# curl -Iv https://***.**/*** * About to connect() to *** port 443 (#0) * Trying ***… connected * Connected to *** (***) port 443 (#0) * successfully set certificate verify locations: * CAfile: none CApath: /etc/ssl/certs * SSLv3, TLS handshake, Client hello (1): * SSLv3, TLS handshake, Server hello (2): * SSLv3, TLS handshake, CERT (11): * SSLv3, TLS alert, Server hello (2): * SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed * Closing connection #0 curl: (60) SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed More details here: curl.haxx.se/docs/sslcerts.html curl performs SSL certificate verification by default, using a «bundle» of Certificate Authority (CA) public keys (CA certs). The default bundle is named curl-ca-bundle.crt; you can specify an alternate file using the --cacert option. If this HTTPS server uses a certificate signed by a CA represented in the bundle, the certificate verification probably failed due to a problem with the certificate (it might be expired, or the name might not match the domain name in the URL). If you'd like to turn off curl's verification of the certificate, use the -k (or --insecure) option.

Проблемы при установке PHP расширения v8js для FreeBSD и MAC OS X

Пробую ставить на Freebsd 9.1 x32, PHP 5.4.15 (cli).
Ставлю v8 из портов, локейшн по умолчанию.
root@papi:/root # pkg_info v8-3.18.5 -L Information for v8-3.18.5: Files: /usr/local/bin/d8 /usr/local/include/v8.h /usr/local/include/v8-debug.h /usr/local/include/v8-preparser.h /usr/local/include/v8-profiler.h /usr/local/include/v8-testing.h /usr/local/include/v8stdint.h /usr/local/lib/libv8.so /usr/local/lib/libv8.so.1

Ставлю расширение
root@papi:/root # pecl install v8js-0.1.3

Получаю fail
downloading v8js-0.1.3.tar… Starting to download v8js-0.1.3.tar (Unknown size) ..................done: 80,896 bytes 8 source files, building running: phpize Configuring for: PHP Api Version: 20100412 Zend Module Api No: 20100525 Zend Extension Api No: 220100525 Please provide the installation prefix of libv8 [autodetect]: /usr/local building in /tmp/pear/pear-build-root9uQTVr/v8js-0.1.3 running: /tmp/pear/v8js/configure --with-v8js=/usr/local checking for grep that handles long lines and -e… /usr/bin/grep checking for egrep… /usr/bin/grep -E checking for a sed that does not truncate output… /usr/bin/sed checking for cc… cc checking whether the C compiler works… yes checking for C compiler default output file name… a.out checking for suffix of executables… checking whether we are cross compiling… no checking for suffix of object files… o checking whether we are using the GNU C compiler… yes checking whether cc accepts -g… yes checking for cc option to accept ISO C89… none needed checking how to run the C
Читать дальше

m.domain.ru -> domain.ru/m на nginx (но с подковыркой)

Дано:
nginx на фронтэнде в качестве балансировщика.
jetty на бэкэнде.

Пользователи должны приходить на sub.domain.ru.
И в строке браузера должно везде оставаться sub.domain.ru.
Однако к jetty уже должны приходить запросы вида domain.ru/sub/

Пока что допёр до такой конфигурации.
Для domain.ru отправляем запрос на прямую на бэкэнд
А для m.domain.ru переписываем поле заголовка Host в domain.ru, а запрос отправляем к бэкэнду переписывая URI как /m/{запрос}
И вроде бы даже все работает. Но дело в том, что в приложении все URL к статике прописаны как /public/mobile. Соответственно при заходе на m.domain.ru они преобразовываются в mobile.ru/m/public/mobile, и сервер их не находит. Написал workaround, но что-то он не работает. Не пойму что я делаю не так.

Может быть есть вообще более изящное решение этой проблемы?

server { listen 80; server_name m.domain.ru; root /path/to/jetty/webapps/; # все запросы к m.domain.ru переписываем отправляем к jetty как localhost:8080/m/, а поле заголовка Host переписываем на domain.ru location / { proxy_pass 127.0.0.1:8080/m$request_uri; proxy_set_header Host domain.ru; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_cache off; proxy_redirect off; } #но делаем исключение для статики location /public/mobile { proxy_pass localhost:8080/; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host domain.ru; proxy_cache off; proxy_redirect off; } } server { listen 80; server_name domain.ru; root /path/to/jetty/webapps/; location / { proxy_pass localhost:8080/; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_cache off; proxy_redirect off; } }