Date летнее/зимнее время на FreeBSD | FreeBSD

В связи с отменой перехода на зимнее летнее время появилась необходимость обновить информацию о временных зонах на серверах FreeBSD. Почитал что пишут в сети – копипастим то, что работает. :)
Простое обновление времени типа #ntpdate ntp2.imvp.ru нам не поможет.
Значит обновляем порты.

#portsnap fetch update

Ставим порт zoneinfo:

#make -C /usr/ports/misc/zoneinfo install clean

или:

code>#cd /usr/ports/misc/zoneinfo
#make install clean

Запускаем настройку временной зоны (это как в процессе установки):

#tzsetup

Выбираем свою зону. Время должно встать на свое место.

function.strftime was not found on this server | Joomla

Столкнулся с проблемой форматрования даты в Joomla! на машине с FreeBSD при переходе на 5 ветку php:

Warning .... function.strftime was not found on this server

Решается добалением описания timezone в php.ini и перезапуском сервера.

date.timezone = "Europe/Moscow"

Ну и про подавление ошибок php не забываем:

error_reporting = E_NONE

Как быстро настроить VPN | FreeBSD

Понадобилось настроить VPN для доступа к ресурсам локальной сетки (файлсервер, rdp, vnc и т.д). Шлюз работает на FreeBSD. Начал смотреть что есть, а есть немало: poptop, mpd5, openVPN, vtun и т.д.

Особых требований у нас нет – настроить клиента под виндой и подключившись к шлюзу получить айпи из диапазона внутренней сети и получить доступ к локальным ресурсам.

Продолжить чтение →

Удаляем файлы старых бэкапов | FreeBSD, Linux

Чтобы не вспоминать записываю. Надо было удалять старые файлы ежедневных бэкапов которые делал MSSQL и складывал на шару самбы.

Добавляем в crontab:

######################
#Delete Daily Backups
######################
#Daily
0 33 * * * root find /storage/samba/backup/DailyBackup-* -type f -mtime +7 -delete
#Weekly
0 33 * * * root find /storage/samba/backup/WeeklyBackup-* -type f -mtime +15 -delete
#Monthly
0 33 * * * root find /storage/samba/backup/MonthlyBackup-* -type f -mtime +45 -delete

Будет искать в указанных папках по заданной маске все файлы старше 7,15, 45 дней и удалять…

Проброс портов в ipfw | FreeBSD

Итак задача тривиальная – надо получить доступ к машине под Windows за натом.

Имеем:

- машину к которой нужно получить доступ под Windows с realVNC (к примеру)
- шлюз на FreeBSD с kernel NAT (ipfw)
- машину с Windows (с маршрутизируемым IP) c realVNC клиентом.

1. Ставим на машину с айпи, скажем, 172.16.5.233, к которой хотим коннектиться, сервер VNC.
2. На шлюзе в правилах фаерволла правим правило NAT:

${fwcmd} nat 1 config if ${LanOut} log redirect_port tcp 172.16.5.233:5900 5900

3. Перезапускаем сеть:

#/etc/netstart

4. Коннектимся к внешнему айпи шлюза на порт 5900 клиентом VNC.

Получаем доступ к виндовой машине за натом.

PS: Конечно порт нужно менять, ограничивать доступ и т.д. и т.п.

Как отключить alias на интерфейсе | FreeBSD

Элементарная вещь но поскольку приходится пользоваться нечасто запишу.
Итак как убрать alias с интерфейса не перегружая машину. Суть проблемы в следующем.
Добавляем alias к примеру прописав строчку в rc.conf:

ifconfig_bge1_alias0="inet 10.12.13.154 netmask 255.255.255.255"

И перегружаем интерфейсы:

#/etc/netstart

Делаем ifconfig – видим наш дополнительный айпишник на интерфейсе. Всё ок.

Теперь alias нужно убрать. Правим rc.conf – убираем строку отвечающую за псевдоним на интерфесе, делаем /etc/netstart и видим, что alias на интерфейсе в выводе ifconfig остался, что в принципе, совершенно естественно – в rc.conf у нас строка добавляющая алиас. Никаких инструкций по удалению псевдонима мы не давали.

Убрать alias можно командой:

#ifconfig em0 -alias 10.12.13.154

negative sbsize for uid = 100 | FreeBSD, Squid

Пару раз вываливалась ошибка на консоль:

negative sbsize for uid = 100

Uid 100 у меня на машине у сквида. В сети описания ошибки не нашёл, но sbsize это ограничение потребляемого объёма сетевой памяти (mbufs). Настраивается sbsize в /etc/login.conf (в мане по login.conf можно почитать).
Пока искал рецепт ошибки пропали – но лечим скорее всего тюнингом сквида, сетевой подсистемы или самого sbsize в login.conf.

imapd-ssl: maximum connection limit reached for | Courier-imap

Выборсило на консоль почтового сервера ошибку:

imapd-ssl: maximum connection limit reached for 1.45.55.6

Возможен такой вариант:

imapd: maximum connection limit reached for 1.45.55.6

Посмотрел – в конфигах /usr/local/etc/courier-imap/imapd и /usr/local/etc/courier-imap/imapd-ssl есть переменная MAXPERIP по дефолту равная четырём.
То есть imap принимает только по четыре соединения с одного айпишника (судя по всему по соображениям безопасности для контроля расхода ресурсов), что конечно очень мало, если к примеру по имапу к серверу обращаются клиенты из-за ната.
Меняем на большее значение:

MAXPERIP=40

и перезапускаем сервис:

#cd /usr/local/etc/rc.d
#./courier-imap-imapd-ssl restart
#./courier-imap-imapd restart

Переменную можно менять в обоих конфигах (я так понимаю для гибкости управления) /usr/local/etc/courier-imap/imapd /usr/local/etc/courier-imap/imapd-ssl – в первом она установлена, во втором – упоминается.

Проброс портов для torrent клиента | FreeBSD

Итак классическая ситуация – вы сидите за натом и вы начинающий админ, управляющий шлюзом на FreeBSD с kernel nat. Torrent клиент работает, но для сохранения положительного ратио нужно раздавать. Решается все одной строчкой (вернее добавлением к строке добавляющей нат):

${fwcmd} nat 1 config if ${LanOut} log redirect_port tcp 172.16.5.5:33020 33020
${fwcmd} add nat 1 ip from any to any via ${LanOut}

Порт – порт на котором висит ваш torrent клиент (или VNC или что-то другое, что вам нужно), айпи – ваша машина.

Roundcube | Courier-imap, Postfix

Есть задача – поставить веб интерфейс к почтовому серваку. Самым популярным наверное будет roundcube (в обзорах на самаге его хвалят, как ставить все рассказывают, к тому же уже стоял у нас roundcube на старом нашем почтовике)…
Итак ставим roundcube.
Первое что необходимо осознать – для работы roundcube необходим настроенный и рабочий IMAP. По сути roundcube – это веб IMAP клиент. Продолжить чтение →

minicom, cu – доступ на консоль Cisco под Unix | Cisco, FreeBSD

Итак, задача простая – получить доступ на консоль Cisco из-под unix. На самом деле все очень просто. Продолжить чтение →

portsnap metadata is corrupt | FreeBSD

При попытке обвить дерево портов утилитой portsnap получаем ошибку:

metadata is corrupt

Лечится удалением базы portsnap

#rm -Rf /var/db/portsnap/

Создаем папку снова:

#mkdir /var/db/portsnap

И делаем fetch снова

#portsnap fetch

Потом extract или update.

А можно попробовать обновить индекс командой:

#portsnap -I fetch

freebsd-update upgrade. custom kernel | FreeBSD

Бинарное обновление freebsd с ветки до ветки или в пределах одной ветки с одной стороны задача тривиальная. С другой стороны если у нас кастомное ядро – то проблемы могут возникнуть на ровном месте. Продолжить чтение →

Статистика сетевого интерфейса | FreeBSD

В Linux команда ifconfig сразу показывает статистику по каждому сетевому интерфейсу – количество коллизий, переданных пакетов и т.д. Во FreeBSD для просмотра этих данных нужно воспользоваться командой netstat c дополнительными ключами:

netstat -iI xl0

Просмотр вывода консоли | FreeBSD

Иногда необходимо просмотреть вывод системы на конкретную консоль. Например, запустили скрипт сборки порта на сервере, а посмотреть чего ждет сервак на этой консоли нужно из дома по ssh (а скрипт ждет подтверждения выбора опций, к примеру).

Помочь может команда watch. К примеру:

watch -W /dev/ttyv0