Показаны сообщения с ярлыком linux. Показать все сообщения
Показаны сообщения с ярлыком linux. Показать все сообщения

пятница, 21 января 2011 г.

Diskless debian clients

Linux debian для загрузки по сети
необходимые пакеты: dhcp3-server atftpd nfs-kernel-server initramfs-tools

server# - команда на сервере
chroot# - команда с chroot'ом в /netboot директорию

адрес сервера: 192.168.0.1

/etc/dhcp/dhcpd.conf
ddns-update-style none;
#
# Сдесь указано доменное имя, DNS сервера и время аренды IP адресов клиентам, по умолчанию неделя, максимум 10 суток.
option domain-name "example.com";
option domain-name-servers 192.168.0.1, 192.168.0.1;
default-lease-time 604800;
max-lease-time 864001;
#
# Логирование работы сервера
log-facility local7;
#
# allow booting;
# allow bootp;
next-server 192.168.0.1;
# option tftp-server-name "192.168.0.1";
# Сдесь указана подсеть адресов для выдачи клиентам, DNS сервера, NETBIOS сервера доменных имен,
# доменное имя, широковещательный адрес, и диапазон выдаваемых адресов.
subnet 192.168.0.0 netmask 255.255.255.0 {
option domain-name-servers 192.168.0.1, 192.168.0.1;
option domain-name "example.com";
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
range 192.168.0.2 192.168.0.250;
deny unknown-clients;
group {
next-server 192.168.0.1;
filename "pxelinux.0";

host virtual {
hardware ethernet 52:54:00:12:34:56;
fixed-address 192.168.0.10;
# filename "pxelinux.0";
# next-server 192.168.0.1;
option host-name "qemu";
}

host virtual_box {
hardware ethernet 08:00:27:08:e2:7d;
fixed-address 192.168.0.11;
option host-name "virtualbox";
}
}
}


Установка базовой системы:
server# debootstrap --arch i386 squeeze /netbootdir
chroot# aptitude install linux-image-2.6.32-5-686
server# wget http://www.linuxpoweruser.com/files/pxelinux.0 -o /netbootdir/boot
server# mkdir /netbootdir/boot/pxelinux.cfg


/netbootdir/boot/pxelinux.cfg/default
DEFAULT linux

LABEL linux
KERNEL vmlinuz-2.6.32-5-686
APPEND root=/dev/nfs initrd=initrd.img.netboot nfsroot=192.168.0.1:/netbootdir ip=dhcp rw


/etc/default/atftpd

OPTIONS="--daemon --port 69 --tftpd-timeout 300 --retry-timeout 5 --mcast-ttl 1 --maxthread 100 --verbose=5 /netbootdir/boot"


server# cd /etc/initramfs-tools/
server# cp initramfs.conf initramfs.conf.bkp


initramfs.conf
MODULES=netboot
BUSYBOX=y
KEYMAP=n
COMPRESS=gzip
BOOT=nfs
DEVICE=
NFSROOT=auto


server# mkinitramfs -o /netbootdir/boot/initrd.img.netboot
server# cp initramfs.conf.bkp initramfs.conf


/netbootdir/etc/fstab
/dev/nfs / nfs defaults 0 0
tmpfs /etc/network/run tmpfs defaults,noatime 0 0
tmpfs /tmp tmpfs defaults,noatime 0 0
tmpfs /var/lock tmpfs defaults,noatime 0 0
tmpfs /var/log tmpfs defaults,noatime 0 0
tmpfs /var/mail tmpfs defaults,noatime 0 0
tmpfs /var/run tmpfs defaults,noatime 0 0
tmpfs /var/spool/cron tmpfs defaults,noatime 0 0
tmpfs /var/tmp tmpfs defaults,noatime 0 0
tmpfs /etc/udev/rules.d tmpfs defaults,noatime 0 0
192.168.0.1:/nethomefldr /home nfs rw,nolock,auto,_netdev,intr,soft 0 0


/etc/exports
/media/archive/netboot 192.168.0.0/24(ro,no_subtree_check,async)
/media/archive/homefldr 192.168.0.0/24(rw,no_subtree_check,async)


/nrtbootdir/etc/network/interfaces
# Used by ifup(8) and ifdown(8). See the interfaces(5) manpage or
# /usr/share/doc/ifupdown/examples for more information.
auto lo
iface lo inet loopback

iface eth0 inet dhcp


chroot# rm /etc/hostname
chroot# rm /etc/mailname
chroot# rm /etc/mtab
chroot# ln -s /proc/mounts /etc/mtab
chroot# rm -f /etc/blkid.tab*
chroot# ln -s /dev/null /etc/blkid.tab
chroot# rm -rf /etc/resolvconf/run
chroot# ln -s /dev/shm/resolvconf /etc/resolvconf/run

вторник, 29 июня 2010 г.

Настройка VPN соединения в GNU/Linux

Многие провайдеры предоставляют доступ во внешний мир посредствомм VPN.

Я расскажу о том как настроить pptp соединение в операционной системе Linux.


  1. Все действия мы будем выполнять с привилегиями суперпользователя, зайдем в рутову консоль
    $ sudo bash
  2. Теперь нам необходимо установить клиент pptp-linux
    Для Ubuntu/Debian
    # apt-get install pptp-linux
  3. От провайдера получаем следующую информацию:
       YOUR_IP - твой айпишник
       YOUR_GATEWAY - твой шлюз
       YOUR_LOGIN_NAME - имя пользователя
       YOUR_PASSWORD - пароль
       YOUR_DNS_1 и YOUR_DNS_2 адреса DNS серверов
       Метод авторизации, в моем случае это CHAP
  4. Настраиваем локальную сеть:
    Открываем файл /etc/network/interfaces
    и вставляем туда текст:
    auto lo
    iface lo inet loopback
    auto eth0

    iface eth0 inet static
    address YOUR_IP
    netmask 255.255.255.192 # вместо 255.255.255.192 маска подсети которую указал провайдер
    gateway YOUR_GATEWAY

    up route add -net 10.0.0.0 netmask 255.0.0.0 gw YOUR_GATEWAY
    up route add -host 195.98.64.65 gw YOUR_GATEWAY
    up route add -host 195.98.64.66 gw YOUR_GATEWAY
    up route add -net 192.168.149.0/24 gw YOUR_GATEWAY # вместо 192.168.149.0/24 имя pptp сервера

  5. Открываем файл /etc/resolv.conf и прописываем туда DNS:
    nameserver YOUR_DNS_1
    nameserver YOUR_DNS_2



  6. Настраиваем VPN соединение:
  7. Открываем файл /etc/ppp/options.pptp и вставляем туда текст:
    lock
    noauth
    nobsdcomp
    nodeflate



  8. Открываем файл /etc/ppp/chap-secrets и вставляем туда
    YOUR_LOGIN_NAME PPTP YOUR_PASSWORD

  9. Создаем файл /etc/ppp/peers/vpn и вставляем туда текст
    pty '/usr/sbin/pptp pptp.server --nolaunchpppd' # вместо pptp.server имя своего pptp сервера
    name YOUR_LOGIN_NAME
    remotename PPTP
    # debug
    lock
    require-chap
    noauth
    # nodetach
    noproxyarp
    defaultroute
    replacedefaultroute
    mtu 1400
    # Чтобы восстанавливалась связь после обрывов
    persist
    holdoff 10
    maxfail 0


  10. Пробуем!
    # pon vpn debug dump logfd 2 nodetach
    Если в конце вы увидите следующие строки

    Script /etc/ppp/ip-up started (pid 9658)
    Script /etc/ppp/ip-up finished (pid 9658), status = 0x0

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

    Для запуска в штатном режиме вводите
    $ sudo pon vpn
    Для остановки:
    $ sudo poff vpn

  11. И чтобы соединение запускалось автоматически при загрузке операционной системы, добавим его в файл сетевых интерфейсов /etc/network/interfaces
    auto ppp0
    iface ppp0 inet ppp
    provider vpn



понедельник, 28 июня 2010 г.

Установка принтера Canon LBP2900 в Debian linux

  1. Принтер отключен, включить компьютер.
  2. Подготавливаем для установки принтера пакеты.
  3. $ sudo apt-get install libxml1 libpng12-0 libpng12-dev libgtk1.2 libgtk1.2-common
  4. Драйвера скачать, распаковать, установить http://software.canon-europe.com/products/0010177.asp (если есть в локальном репозитарии, то уже, скорее всего установлены):
    cndrvcups-common_1.80-1_i386.deb
    cndrvcups-capt_1.80-1_i386.deb
  5. Разрешаем доступ всем
    $ sudo chmod 777 /var/ccpd/fifo0
  6. Переходим в /usr/share/ppd/ и создаём ссылки
    $ cd /usr/share/ppd/
    $ sudo ln -s /usr/share/cups/model/CNCUPSLBP2900CAPTK.ppd
  7. Регистрируем принтер в системе
    $ sudo /usr/sbin/lpadmin -p LBP2900 -m CNCUPSLBP2900CAPTK.ppd -v ccp:/var/ccpd/fifo0 -E
  8. Регистрируем принтер в cppd
    $ sudo /usr/sbin/ccpdadmin -p LBP2900 -o /dev/usb/lp0
  9. Включаем принтер и делаем доступным
    $ sudo chmod 777 /dev/usb/lp0
  10. Если просто добавить скрипт запуска в автозагрузку, то ccpd оказывается зависшим и приходится перезагружать вручную, вместо этого создадим файл /etc/udev/rules.d/10-canon_LBP2900.rules и запишем в него:
    KERNEL=="lp*", SUBSYSTEM=="usb", ACTION=="add", RUN+="/etc/init.d/ccpd restart"
    KERNEL=="lp*", SUBSYSTEM=="usb", ACTION=="remove", RUN+="/etc/init.d/ccpd stop"

    Теперь служба ccpd будет запускаться при каждом включении принтера и останавливаться при его выключении


Для debian squeeze
aptitude install cups cupsys cupsys-client gs-esp libstdc++5
качаем свежие дрова http://software.canon-europe.com/products/0010177.asp
переходим в папку где лежат .deb и выполняем следующие команды:
  1. aptitude install cups cupsys cupsys-client gs-esp libstdc++5
  2. dpkg-deb -x cndrvcups-common_1.90-1_i386.deb common
  3. dpkg-deb --control cndrvcups-common_1.90-1_i386.deb
  4. Появились две папки - DEBIAN и common.
    Заходим в папку DEBIAN и редактируем файл control - заменяем libcupsys2 на libcups2 и cupsys на cups. Копируем всю папку DEBIAN в common
  5. dpkg -b common new_cndrvcups-common_1.90-1_i386.deb
  6. dpkg -i new_cndrvcups-common_1.90-1_i386.deb
  7. dpkg -i cndrvcups-capt_1.90-1_i386.deb

Далее все также