imported>Supportadmin |
imported>Vix |
Строка 1: |
Строка 1: |
| [https://www.google.ru Источник] | | * [http://www.sakryukin.ru/?module=articles&c=articles&b=6&a=2 принтеры Canon и им подобные] |
| === Настройка GRUB для LXC=== | | * [http://ubuntu-favorite-os.blogspot.ru/2010/06/canon-lbp-1120.html Ubuntu - установеа принтера Canon LBP 1120] |
| В /etc/default/grub изменить параметр
| | * [http://www.welinux.ru/post/4170/ установка принтера Canon] |
| <nowiki>
| | * [http://linuxhardware.ru/index.php?title=Canon_LBP автоматизированная установка через скрипт разных версий] |
| GRUB_CMDLINE_LINUX="cgroup_enable=memory"
| | <hr> |
| </nowiki>
| | * [http://www.canon-europe.com/Support/Consumer_Products/products/printers/Laser/i-SENSYS_LBP2900.aspx?DLtcmuri=tcm:13-1060371&page=1&type=download Дрова] |
| Хотя официально [https://wiki.debian.org/LXC] сказано, что делать ничего не надо.
| | * [http://forum.ubuntu.ru/index.php?topic=189049.0 мануал] |
| | * [http://debianforum.ru/index.php?topic=2707.0 обсуждения...] |
| | * [http://debianforum.ru/index.php?topic=1461.30 обсуждение ...] |
| | * -- для исправления ошибок с установкой пакетов # apt-get -f install |
| | * [https://debianforum.ru/index.php?topic=2707.0 firum] |
| | * [https://unixforum.org/index.php?showtopic=138298 решения] |
| | * [http://help.ubuntu.ru/wiki/canon_capt Ubuntu - Canon] |
|
| |
|
| === Настройка ядра для LXC ===
| | <hr> |
| В /etc/sysctl.conf [https://habrahabr.ru/post/120717/]
| | * [http://blog.a7in.com/%D0%BF%D0%B5%D1%87%D0%B0%D1%82%D1%8C-%D1%81%D0%B5%D1%82%D0%B5%D0%B2%D0%BE%D0%B9-%D0%BF%D1%80%D0%B8%D0%BD%D1%82%D0%B5%D1%80-64/ Печать на старый сетевой принтер в Windows 7 x64, не имея 64-битных драйверов] |
| <nowiki>
| |
| net.ipv4.ip_forward=1
| |
| net.ipv4.conf.all.forwarding=1
| |
| net.ipv4.conf.all.proxy_arp=1
| |
| </nowiki>
| |
|
| |
|
| grub_updare, reboot
| | * [https://help.ubuntu.com/community/foo2capt свободная реализация драйвера foo2capt] |
| | | * [https://help.ubuntu.com/community/CanonCaptDrv190 последние версии драйвера] |
| === Настройка сети для LXC ===
| | * [https://help.ubuntu.ru/wiki/canon_capt Установка драйвера Canon CAPT для принтеров Canon LBP] |
| На хост-машине:
| | * [https://habr.com/sandbox/27625/ Заводим Canon LBP2900 под linux, без ущерба для других принтеров и проиводительности] |
| | | * [https://itshaman.ru/articles/98 Как установить принтер Canon LBP-2900 в Linux Ubuntu?] |
| <nowiki>
| |
| apt-get install bridge-utils
| |
| </nowiki>
| |
| | |
| Если планируется использовать виртуальные сети, дополнительно:
| |
| | |
| <nowiki>
| |
| apt-get install vlan
| |
| </nowiki>
| |
| | |
| В /etc/network/interfaces:
| |
| <nowiki>
| |
| #allow-hotplug eth0
| |
| #auto eth0
| |
| #iface eth0 inet static
| |
| | |
| | |
| auto br0
| |
| iface br0 inet static
| |
| address 192.168.150.30
| |
| netmask 255.255.255.0
| |
| network 192.168.150.0
| |
| broadcast 192.168.150.255
| |
| gateway 192.168.150.1
| |
| dns-nameservers 192.168.150.1
| |
| bridge_ports eth0
| |
| bridge_fd 0
| |
| bridge_maxwait 0</nowiki>
| |
| | |
| === Создание контейнера ===
| |
| Создаем контейнер [https://wiki.debian.org/LXC#RootFS_creation]
| |
| | |
| <nowiki>lxc-create -t debian -n nodejs</nowiki>
| |
| | |
| Сразу меняем пароль root на свой.
| |
| | |
| <nowiki>
| |
| старт в режиме консоли (не очень удобно, точнее вообще неудобно)
| |
| | |
| lxc-start -n nodejs
| |
| | |
| или старт в режиме демона и присоединяется к консоли контейнера, для выхода из консоли exit
| |
| | |
| lxc-start -dn nodejs
| |
| lxc-attach -n nodejs
| |
| </nowiki>
| |
| ===Настройка параметров контейнера===
| |
| Конфигурируем контейнер /var/lib/lxc/nodejs/config. Обязательно обратить внимание на lxc.network.veth.pair [http://xgu.ru/wiki/LXC] - это имя интерфейса в хост машине. [https://wiki.debian.org/LXC Здесь] про это не сказано, и работать с сетью сможет только один контейнер.
| |
| | |
| <nowiki>
| |
| | |
| lxc.rootfs = /var/lib/lxc/nodejs/rootfs
| |
| lxc.include = /usr/share/lxc/config/debian.common.conf
| |
| lxc.mount = /var/lib/lxc/nodejs/fstab
| |
| lxc.utsname = nodejs
| |
| lxc.arch = amd64
| |
| lxc.autodev = 1
| |
| lxc.kmsg = 0
| |
| | |
| #Количество /dev/tty
| |
| lxc.tty = 6
| |
| | |
| # Autostart
| |
| lxc.start.auto = 1
| |
| lxc.start.delay = 5
| |
| lxc.start.order = 100
| |
| | |
| # eth0
| |
| | |
| lxc.network.type = veth
| |
| lxc.network.flags = up
| |
| lxc.network.link = br0
| |
| lxc.network.veth.pair= br0-1
| |
| lxc.network.name = eth0
| |
| lxc.network.hwaddr = 00:11:12:00:88:99
| |
| | |
| #mount папка на хост-машине папка в контейнере, относительно хост-машины
| |
| #lxc.mount.entry = /home/debs /var/lib/lxc/nodejs/rootfs/home/debs none bind 0 0
| |
| </nowiki>
| |
| | |
| === Настройка параметров сети внутри LXC контейнера===
| |
| Настраиваем сеть не через конфигурацию, а в контейнере (можно и так, и так) /var/lib/lxc/nodejs/rootfs/etc/network/interfaces
| |
| <nowiki>
| |
| # The loopback network interface
| |
| auto lo
| |
| iface lo inet loopback
| |
| | |
| # The primary network interfac
| |
| | |
| allow-hotplug eth0
| |
| auto eth0
| |
| iface eth0 inet static
| |
| address 192.168.150.33
| |
| netmask 255.255.255.0
| |
| network 192.168.150.0
| |
| broadcast 192.168.150.255
| |
| gateway 192.168.150.1
| |
| dns-nameservers 192.168.150.1
| |
| </nowiki>
| |
| | |
| === Настройка репозитариев и обустройство контейнера ===
| |
| Правим /var/lib/lxc/nodejs/rootfs/etc/apt/sources.list
| |
| <nowiki>
| |
| #deb file:/home/debs /
| |
| deb http://mirror.mephi.ru/debian/ jessie main
| |
| deb-src http://mirror.mephi.ru/debian/ jessie main
| |
| | |
| deb http://security.debian.org/ jessie/updates main contrib
| |
| deb-src http://security.debian.org/ jessie/updates main contrib
| |
| | |
| # jessie-updates, previously known as 'volatile'
| |
| deb http://mirror.mephi.ru/debian/ jessie-updates main contrib
| |
| deb-src http://mirror.mephi.ru/debian/ jessie-updates main contrib
| |
| | |
| deb http://ftp.ru.debian.org/debian/ jessie main contrib non-free
| |
| deb http://http.debian.net/debian jessie-backports main contrib non-free
| |
| | |
| #deb http://www.deb-multimedia.org jessie main non-free
| |
| #deb http://www.deb-multimedia.org jessie-backports main
| |
| | |
| | |
| </nowiki>
| |
| | |
| Изначально контейнер пустой (установлено 136 пакетов). Даже ping отсутствует.
| |
| <nowiki>
| |
| apt-get update
| |
| apt-get install aptitude apt-utils mc ssh iputils-ping iptables cron wget
| |
| </nowiki>
| |
| | |
| === Если нет сети в LXC контейнере ===
| |
| Если интернета в контейнере не появилось, ping отсутствует, то как вариант можно создать локальный репозитарий, подмонтировать его в контейнер, в sources.list добавить ссылку на него и поставить bind9 и resolvconf.
| |
| * качаем один или все три установочные диска с [https://www.debian.org/CD/http-ftp/ сайта] | |
| * создаем папку на хост-машине /home/debs | |
| * из каталога pool каждого диска копируем в /home/debs каталоги main и contrib
| |
| * создаем индекс репозитория
| |
| <nowiki>
| |
| cd /home/debs
| |
| dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz
| |
| </nowiki>
| |
| * В sources.list контейнера добавить первой строкой (остальные #)
| |
| <nowiki>
| |
| deb file:/home/debs /
| |
| </nowiki>
| |
| * В конфигурацию контейнера добавить
| |
| <nowiki>
| |
| lxc.mount.entry = /home/debs /var/lib/lxc/nodejs/rootfs/home/debs none bind 0 0
| |
| </nowiki>
| |
| * Запустить контейнер и в нем поставить пакеты
| |
| <nowiki>
| |
| lxc-start -dn nodejs
| |
| lxc-attach -n nodejs
| |
| apt-get update
| |
| apt-get install aptitude apt-utils mc ssh iputils-ping iptables cron wget resolvconf
| |
| apt-get install bind9
| |
| exit
| |
| lxc-stop -n nodejs
| |
| lxc-start -dn nodejs
| |
| </nowiki>
| |
| После этого, при правильном конфигурировании gateway и dns-nameservers все должно заработать
| |
| | |
| | |
| === Настройка vlan для LXC ===
| |
| Пример для двух vlan. На хост-машине /etc/network/interfaces:
| |
| <nowiki>
| |
| auto lo
| |
| iface lo inet loopback
| |
| | |
| auto eth0.1
| |
| iface eth0.1 inet manual
| |
| vlan_raw_device eth0
| |
| | |
| auto eth0.2
| |
| iface eth0.2 inet manual
| |
| vlan_raw_device eth0
| |
| | |
| ######### Интерфейсы для хост-машины
| |
| auto br0_1
| |
| iface br0_1 inet static
| |
| address 192.168.10.90
| |
| netmask 255.255.255.0
| |
| broadcast 192.168.102.255
| |
| bridge_ports eth0.1
| |
| bridge_fd 0
| |
| bridge_maxwait 0
| |
| | |
| auto br0_2
| |
| iface br0_2 inet static
| |
| address 9.23.3.169
| |
| netmask 255.255.255.128
| |
| network 9.23.3.128
| |
| broadcast 9.23.3.255
| |
| gateway 9.23.3.129
| |
| dns-nameservers 9.23.3.13 9.23.4.2
| |
| bridge_ports eth0.2
| |
| bridge_fd 0
| |
| bridge_maxwait 0
| |
| </nowiki>
| |
| | |
| Настройки контейнера:
| |
|
| |
| <nowiki>
| |
| lxc.rootfs = /var/lib/lxc/nodejs/rootfs
| |
| lxc.include = /usr/share/lxc/config/debian.common.conf
| |
| lxc.mount = /var/lib/lxc/nodejs/fstab
| |
| lxc.utsname = nodejs
| |
| lxc.arch = amd64
| |
| lxc.autodev = 1
| |
| lxc.kmsg = 0
| |
| | |
| #Количество /dev/tty
| |
| lxc.tty = 6
| |
| | |
| # Autostart
| |
| lxc.start.auto = 1
| |
| lxc.start.delay = 5
| |
| lxc.start.order = 100
| |
| | |
| | |
| # eth0
| |
| lxc.network.type = veth
| |
| lxc.network.flags = up
| |
| lxc.network.link = br0_1
| |
| # имя устройства внутри контейнера
| |
| lxc.network.name = eth0
| |
| lxc.network.veth.pair= br0_1-1
| |
| lxc.network.hwaddr = 00:11:22:33:88:99
| |
| | |
| # eth1
| |
| | |
| lxc.network.type = veth
| |
| lxc.network.flags = up
| |
| lxc.network.link = br0_2
| |
| lxc.network.veth.pair= br0_2-1
| |
| # имя устройства внутри контейнера
| |
| lxc.network.name = eth1
| |
| lxc.network.hwaddr = 00:11:62:77:88:00
| |
| </nowiki>
| |
| | |
| В контейнере /etc/network/interfaces:
| |
| | |
| <nowiki>
| |
| auto lo
| |
| iface lo inet loopback
| |
| | |
| auto eth0
| |
| iface eth0 inet static
| |
| address 192.168.102.91
| |
| netmask 255.255.255.0
| |
| broadcast 192.168.102.255
| |
| | |
| auto eth1
| |
| iface eth1 inet static
| |
| address 9.23.3.170
| |
| netmask 255.255.255.128
| |
| network 9.23.3.128
| |
| broadcast 9.23.3.255
| |
| gateway 9.23.3.129
| |
| dns-nameservers 9.23.3.13 9.23.4.2
| |
| </nowiki>
| |
| | |
| | |
| Для каждого следующего контейнера меняется в конфигурации имя устройства например так:
| |
| <nowiki>
| |
| lxc.network.veth.pair= br0_1-1
| |
| lxc.network.veth.pair= br0_2-1
| |
| </nowiki>
| |
| следующий контейнер
| |
| <nowiki>
| |
| lxc.network.veth.pair= br0_1-2
| |
| lxc.network.veth.pair= br0_2-2
| |
| </nowiki>
| |
| Главное, чтобы не совпадали имена интерфейсов, создаваемых на хост-машине. Количество мостов соответствует количеству vlan. По одному на каждый vlan.
| |