четверг, 14 июля 2011 г.

Организация VPN сервера в Ubuntu

Устанавливаем VPN сервер:
$sudo apt-get install pptpd

Ок. Демон установился и запустился. По-умолчанию, демон слушает TCP-порт 1723 и использует протокол GRE (он же протокол 47) . Разрешаем на фаерволе входящие подключения на этот порт по этому протоколу (IPTABLES =/sbin/iptables, если кто забыл:)) ):

$IPTABLES -A INPUT -p gre -s 0/0 -j ACCEPT
$IPTABLES -A OUTPUT -p gre -m state --state RELATED,ESTABLISHED -j ACCEPT
$IPTABLES -A INPUT -p tcp -s 0/0 --dport 1723 j ACCEPT
или через shorewall, /etc/shorewall/rules добавляем:
ACCEPT           net    fw    tcp 1723
GRE(ACCEPT)   net    fw



Далее ковыряем конфиг /etc/pptpd.conf, чтобы получилось вот такое:


option /etc/ppp/pptpd-options
#noipparam
logwtmp
bcrelay eth0
localip 10.177.36.3
remoteip 10.177.36.10-15
options - путь, где лежит конфиг опций; ВАЖНО!!! должно быть закаментировано! noipparam - если опция активна, то клиенту не будет передаваться его IP; logwtmp - позволяет передавать PPTP-серверу лог аутентификации пользователей через стандартную функцию logwtmp (нужна для отладки); bcrelay - разрешить передачу VPN-клиентам широковещательных пакетов с внутреннего интерфейса eth0; localip - ip нашего VPN сервера; remoteip - диапазон ip, выдаваемых клиентам.

Теперь ковырнем конфиг опций /etc/ppp/pptpd-options:

name pptpd
auth
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
proxyarp
nodefaultroute
logfile /var/log/pptpd.log
lock
nobsdcomp 
name - имя сервера (должно совпадать с параметром server в /etc/ppp/chap-secrets см. описание ниже); auth - требовать от клиента обязательной аутентификации; refuse-pap,refuse-chap,refuse-mschap - не принимать подключения от клиентов использующих ненадежные протоколы проверки пароля (pap, chap, ms chap v1); require-mschap-v2 - требовать от клиентов наиболее (на сегодняшний день) надежный протокол проверки пароля; require-mppe-128 - использовать механизм шифрования с 128-битным ключем; proxyarp - директива серверу работать с локальной сетью не используя маскарадинг (используется если клиентам выдаются ip-адреса из локальной подсети); nodefaultroute - не менять клиентам маршрут по-умолчанию (что б при установки соединения не отваливались интернеты) ВАЖНО!!!!! Не смотря на nodefaultroute, под Windows при установке VPN все равно маршрут по-умолчанию становиться на VPN, чтобы этого не происходило идем в свойства VPN соединения → Сеть → Протокол TCP/IP → Свойства → Дополнительно, там снимаем галку "Использовать основной шлюз в удаленной сети". logfile - куда писать логи; nobsdcomp - явное указание серверу, что компьютер работает под осью отличной от BSD (OpenBSD, FreeBSD).


Добавляем пользователей в /etc/ppp/chap-secrets:

# client        server                     secret                  IP addresses
test               pptpd                      testpass
test1             pptpd                      test1pass           10.177.36.10

Таким образом мы создали пользователя "test" с паролем "testpass" и пользователя "test1" с паролем "test1pass" c явным указанием ему получать ip-адрес "10.177.36.10".

Перезапускаем демона:

$sudo /etc/init.d/pptpd restart

Все! VPN-сервер готов к работе.

Если VPN-сервер работает за NAT-том, то еще необходимо организовать к нему проброс. На VPN-сервере разрешаем форвард пакетов:

$sudo mcedit /proc/sys/net/ipv4/ip_forward
и туда пишем:
net.ipv4.ip_forward=1

потом выполняем:
$sudo sysctl -p

Ну и, собственно проброс... На шлюзе в /etc/shorewall/rules добавляем:

DNAT   net    loc:10.177.36.3    tcp 1723
DNAT   net    loc:10.177.36.3    47

На этом настройка завершена...

А если все подключается, но ничего не работает, то вполне возможно нужно изменить размер MTU, таким образом, чтобы он был меньше MTU соединения с провайдером. Например, вы подключаетесь к провайдеру с MTU=1400 (см. в настройках роутера), тогда для своего VPN сервера нужно задать меньшее значение, например 1300. Для этого идем в /etc/ppp/pptpd-options и дописываем:

mru 1300
mtu 1300

ПОЛЕЗНЫЕ ССЫЛКИ:


Жопиздан:) (с) Job Is Done

четверг, 14 апреля 2011 г.

Установка принтера Canon LBP 3010 в ubuntu 9.04 +



Качаем необходимые дрова для принтера вот отсюда http://software.canon-europe.com/

Ставим драйвера в таком порядке (версия драйвером может отличаться):
1. cndrvcups-capt_2.20-1_i386.deb
2. cndrvcups-common_2.20-1_i386.deb

Далее рестартуем CUPS:

$sudo /etc/init.d/cups restart

Регистрируем принтер в системе. Смотрим какой ppd файл соответствует нашему принтеру https://help.ubuntu.com/community/HardwareSupportComponentsPrinters/CanonPrinters?highlight=%28%28CanonCaptDrv190%29%29 и
собственно регистрируем его:

$sudo /usr/sbin/lpadmin -p LBP3010 -m CNCUPSLBP3050CAPTK.ppd -v ccp:/var/ccpd/fifo0

Теперь в "Система -> Администрирование -> Печать" - должен появиться принтер LBP 3010.

Регистрируем usb - соединение принтера:

$sudo /usr/sbin/ccpdadmin -p LBP3010 -o /dev/usb/lp0

в ответ должны получить что то типа:

значит все гуд.

Вот теперь для нормальной работы принтера нужно подправить файл ccpd:

$sudo mcedit /etc/init.d/ccpd

файл должен содержать только:
# startup script for Canon Printer Daemon for CUPS (ccpd)

### BEGIN INIT INFO
# Provides: ccpd
# Required-Start: $local_fs $remote_fs $syslog $network $named
# Should-Start: $ALL
# Required-Stop: $syslog $remote_fs
# Default-Start: 2 3
# Default-Stop: 0 1 4 5 6
# Description: Start Canon Printer Daemon for CUPS
### END INIT INFO


DAEMON=/usr/sbin/ccpd
LOCKFILE=/var/lock/subsys/ccpd
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
NAME=ccpd
DESC="Canon Printer Daemon for CUPS"

test -f $DAEMON || exit 0

. /lib/lsb/init-functions

case $1 in
start)
log_begin_msg "Starting $DESC: $NAME"
start-stop-daemon --start --quiet --exec $DAEMON
log_end_msg $?
;;
stop)
log_begin_msg "Stopping $DESC: $NAME"
start-stop-daemon --stop --quiet --oknodo --exec $DAEMON
log_end_msg $?
;;
status)
echo "$DESC: $NAME:" `pidof $NAME`
;;
restart)
log_begin_msg "Restarting $DESC: $NAME"
start-stop-daemon --stop --quiet --oknodo --exec $DAEMON
sleep 1
start-stop-daemon --start --quiet --exec $DAEMON
log_end_msg $?
;;
*)
echo "Usage: ccpd {start|stop|restart|status}"
exit 1
;;
esac

exit 0

сохраняем и перезапускаем canon`вского демона:

$sudo /etc/init.d/ccpd restart

Теперь, чтобы принтер работал и после перезагрузки системы, выполняем:

$sudo update-rc.d ccpd defaults 50

Валим, напоследок, стандартный принтер, найденый системой.
Жопиздан (с) Job Is Done

вторник, 12 апреля 2011 г.

Сохранить установленный deb пакет из системы

Иногда, необходимо сохранить установленный deb пакет из системы. Делается это просто. Ставим dpkg-repack:

$sudo apt-get install dpkg-repack

и выполняем команду:

$sudo dpkg-repack <имя необходимого пакета>

На выходе имеем свежесобранный пакет в текущем каталоге.

Жопиздан (с) Job Is Done

среда, 16 марта 2011 г.

Запретить apt-get обновлять конкретный пакет Ubuntu

Иногда возникает необходимость отказаться от обновления некоторых пакетов. Через ГУЙ это не составляет никаких проблем. например, через sinaptic. Но, часто, обновление и установка пакетов проходит в терминале. Захолдить пакет для apt-get можно так:


$ echo "<полное название пакета> hold" | sudo dpkg --set-selections


<полное название пакета> — можно узнать так:

$ dpkg --get-selections | grep <название пакета>


Чтобы снова разблокировать пакет, необходимо выполнить туже команду, только параметр hold заменить на install

пятница, 25 февраля 2011 г.

Проблемы после блокировки экрана Ubuntu 10.04

Столкнулся с такой вот "кАкой". После того как тазик выходит после блокировки экрана не могу взаимодействовать с рабочим столом. Т. е. мышка бегает, но не на что не действует. Написать тоже ничего не могу. Помогает нажатие ALT+F2 (выполнить программу). После чего фокус опять возвращается и можно дальше нормально работать.

Входе жесткого поиска причин, было выяснено - проблема с wine!!!!
Решение: в winecfg, закладка "Графика", убрать галочку "Разрешить менеджеру окон управлять окнами wine".

среда, 23 февраля 2011 г.

Монтирование сетевые шары, в пути которой есть пробел

Монтируя сетевые шары с помощью cifs, через /etc/fstab, можете столкнуться с проблемой, если вдруг в пути расшареваемой папки есть пробелы. К примеру:

//192.168.0.2/Сетевой диск

Чтобы все заработало, надо использовать следующую запись:
//192.168.0.2/Сетевой\040диск

понедельник, 21 февраля 2011 г.

Web-camera в Ubuntu 10.04

Если в skype (или другом приложении) веб-камера в устройствах отсутствует, то можно попробовать запустить приложение так:

LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype

Если веб-камера показывает изображение вверх-тормашками, то есть такое решение:


export LIBV4LCONTROL_FLAGS=3
LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype

в большинстве случаев помогает.