Мне периодически задают вопрос "а как лучше подключиться к IPv6, если провайдер не поддерживает?" и мне надоело каждый раз писать ответы заново. Пусть тут полежит.
6to4:
+ работает "автомагически" на любом реальном IPv4-адресе. (на Win7/vista включёно по умолчанию, на winxp включается сразу после установки TCP/IP IPv6) Тунель 6to4 на любом внешнем IPv4 адресе
+ для связи между 6to4 адресами используется связь между IPv4-адресами "напрямую" минуя шлюзы (не падает "пинг" и скорость)
+ есть возможность иметь постоянный адрес (при постоянном IPv4) и настроить обратную DNS-зону.
- требует наличие реального IPv4-адреса
- 6to4-релей может быть очень далеко, или вовсе не работать.
- если что-то не работает - довольно сложно бывает найти причину и устранить
- traceroute рисует много звёзд и не красиво :-)
- непредсказуемый "пинг". Часто высокий. teredo:
+ работает почти из-за всех NAT
+ не требует реального IPv4-адреса
+ альтернативные teredo-сервера проще выбирать/настраивать чем у 6to4. И вообще вот список:
teredo.ipv6.microsoft.com
teredo.remlab.net
teredo2.remlab.net
teredo.solar6.net
debian-miredo.progsoc.org
teredo.ginzado.ne.jp
teredo.iks-jena.de
+ для p2p проще проковырять один туннель, чем маяться с пробросом портов, если это вообще возможно.
- если что-то не работает - довольно сложно бывает найти причину и устранить
- traceroute рисует много звёзд и не красиво :-)
- нет возможности сделать обратную DNS-запись
- каждый раз разный адрес.
- непредсказуемый "пинг". Часто высокий.
Впрочем оба варианта это костыли (хоть и порой вынужденные) для получения IPv6. Трясите своего провайдера на тему IPv6 и может быть он задумается о вводе IPv6 на своей сети.
Есть ещё один "костыль", хоть и более-менее "прямой" - туннельные брокеры.
+ есть кому пожаловаться что не работает. Диагностировать довольно легко.
+ постоянный IPv6 адрес. Часто выдают целую подсеть.
+ возможность настройки обратной DNS-зоны
+ некоторые типы туннелей легко проходят через любые NAT-ы и даже proxy-серверы (vtun/openvpn).
+ traceroute рисует красивые маршруты :-)
+ при выборе туннельного брокера часто можно выбрать ближайший сервер. "пинг" может быть приемлемым (~10-70мс).
- это всё же не нативное подключение и туннель может добавить "лишней" нагрузки и увести маршрут до соседнего подъезда через половину земного шара
Ну и пользуясь случаем - если у провайдера нет IPv6, он еб^Wстранный и зачем-то блокирует и 6to4 и teredo или 6to4/teredo просто не хочется - милости прошу - выдам и туннель, и адреса и сеть. Пишите почтой на mikhail собака (этот домен) или в jabber - antmix@stopicq.ru
Если стало интересно и хочется попробовать - здесь более подробно описаны варианты подключения IPv6 с практической стороны.
У меня есть нетбук, внешний USB-диск, способный вместить всю информацию что есть на внутреннем и есть желание заиметь на нетбуке шифрованный диск. Никто не застрахован от потерь. Не хотелось бы чтобы данные увидел кто-то, кто видеть их не должен. Решено было перенести рабочую систему на шифрованный раздел, за одно и избавиться от статичной разбивки в пользу lvm. Ещё нет никакого желания разбирать нетбук, подключать диск куда-то ещё, нетбук без cd-привода и в случае чего livecd не поможет, хотя есть вариант liveusb, но самого liveusb нет. Так же нет желания сидеть “тупить” в чёрный экран потому что нетбук – единственная рабочая машина. На нетбуке стоит Debian GNU/Linux. Из пакетов сейчас там солянка stable+testing+немного sid. Загрузчик – grub2. На stable (squeeze) описанный метод переноса работать будет.
Ставим программы для работы с lvm и шифрованными разделами: aptitude install lvm2 cryptsetup
Далее создаём разделы на usb-диске (пусть он будет sdb)
sdb1 занят полезной информацией, которую удалять не будем.
Создаём два раздела (не важно чем – хоть fdisk, хоть gparted, хоть ещё чем):
sdb2 – мегабайт на 300 хватит с большим запасом – там будет /boot
sdb3 – там будет временное хранилище данных – т.е. места должно хватить на все данные, которые нужно сохранить.
На sdb2 создаём файловую систему – я сделал ext4, хотя местами часто говорят делать там ext2. Не особо важно. mkfs.ext4 /dev/sdb2
Затем создаём шифрованный раздел cryptsetup luksFormat /dev/brtntbk/test WARNING! ======== This will overwrite data on /dev/brtntbk/test irrevocably. Are you sure? (Type uppercase yes): <- вводим YES Enter LUKS passphrase: <- вводим пароль Verify passphrase: <- ещё раз пароль
Шифрованное устройство создано
Запишем его в конфиг чтобы система “знала” о нём. Для начала посмотрим uuid командой blkid ~# blkid <...> /dev/sdb1: UUID="09ba38fb-22fb-44ee-ae00-a1ccab2b01c8" TYPE="ext4" /dev/sdb2: UUID="1d027431-f8f1-4452-ada3-586338196b19" TYPE="ext4" /dev/sdb3: UUID="63080eed-a812-4961-b0b9-baad344dc13d" TYPE="crypto_LUKS" <...>
Нам нужен UUID от sdb3. Откроем файл /etc/crypttab и напишем там строку: cryptusb UUID=63080eed-a812-4961-b0b9-baad344dc13d none luks
Затем “откроем” наш шифрованный диск: ~# cryptdisks_start cryptusb Starting crypto disk...cryptusb (starting)... Unlocking the disk /dev/disk/by-uuid/63080eed-a812-4961-b0b9-baad344dc13d (cryptusb) Enter passphrase: <- сюда вводим пароль cryptusb (started)...done.
Появилось устройство /dev/mapper/cryptusb, на котором создадим pv для lvm ~# pvcreate /dev/mapper/cryptusb Physical volume "/dev/mapper/cryptusb" successfully created
Создаём группу томов ~# vgcreate crypt /dev/mapper/cryptusb Volume group "crypt" successfully created
Создаём том, где будут лежать все файлы кроме /home и /boot ~# lvcreate -L10G -nroot crypt Logical volume "root" created
У меня так. Если у кого-то иначе и разделов больше – сделать по аналогии.
Создаём файловую систему ~# mkfs.ext4 /dev/crypt/root
Монтируем её чтобы перенести туда данные mkdir /mnt/newroot mount /dev/crypt/root /mnt/newroot
Монтируем новый /boot mkdir /mnt/newroot/boot mount /dev/sdb2 /mnt/newroot/boot
Монтируем корневую ФС с работающей системой mkdir /mnt/oldroot mount --bind / /mnt/oldroot
У меня до этого все файлы были на одной файловой системе на одном разделе.
Копируем информацию со старой системы в новую, исключая /home/ т.к. его мы скопируем на отдельный том. rsync -avPHAX --exclude="home/*" /mnt/oldroot/* /mnt/newroot/
Пока копируется можно заниматься своими делами даже не выходя из иксов. После того как процесс завершится – закрываем все свои рабочие программы, завершаем сеанс от пользователя, переходим в консоль tty1, логинимся рутом и переводим систему в однопользовательский режим init 1
Затем повторяем процедуру копирования rsync -avPHAX --exclude="home/*" /mnt/oldroot/* /mnt/newroot/
Второй раз она завершится значительно быстрее.
Монтируем виртуальные системы proc и dev к новой системе mount --bind /dev /mnt/newroot/dev mount --bind /proc /mnt/newroot/proc
И переходим в новую систему chroot /mnt/newroot
В новой системе меняем пути к разделам в /etc/fstab и зовём grub-mkdevicemap, затем update-grub2. Проверяем что в /boot/grub/grub.cfg написано правильное новое устройство, если нет – правим руками, записываем невзирая на отсутствие прав за запись.
У меня в grub меню выглядит так: menuentry ‘Debian GNU/Linux, с Linux 3.0.0-1-686-pae’ —class debian —class gnu-linux —class gnu —class os {
insmod gzio
insmod part_msdos
insmod ext2
set root=’(/dev/sdb,msdos2)’
search —no-floppy —fs-uuid —set=root 1d027431-f8f1-4452-ada3-586338196b19
echo ‘Загружается Linux 3.0.0-1-686-pae …’
linux /vmlinuz-3.0.0-1-686-pae root=/dev/mapper/brtntbk-root ro rootfstype=ext4 quiet
echo ‘Загружается начальный ramdisk …’
initrd /initrd.img-3.0.0-1-686-pae
}
Вообще встречается в статьях параметр ядра cryptdevice=/dev/sdb3:crypt но у меня и без него работает
Затем ставим grub на usb-диск grub-install /dev/sdb
После проверяем всё ли хорошо у нас с initrd: mkdir /tmp/foo cd /tmp/foo zcat /boot/initrd.img-$(uname -r) | cpio -iv cat conf/conf.d/cryptroot
Там должно быть что-то типа этого: target=cryptusb,source=/dev/sdb3,key=none,lvm=crypt-root,lvm=crypt
Если файла нет вообще, или там написано что-то странное – удалим initrd rm /boot/initrd.img-$(uname -r)
и сгенерим заново update-initramfs -k all -u
Вообще здесь рекомендуют сделать так: cd /etc/initramfs-tools/conf.d vim cryptroot Внутрь файла написать: target=cryptusb,source=/dev/sdb3,key=none,lvm=crypt-root,lvm=crypt и только после этого перегенерить initrd, однако у меня заработало без прописывания
Теперь выходим из chroot, отмонтируем dev и proc, затем boot, затем /mnt/newroot /mnt/oldroot и после перезагружаемся, сообщив BIOS-у что грузиться надо с USB.
Если всё сделано верно – система должна нормально загрузиться уже с нового шифрованного раздела. До логина в иксы необходимо перейти в консоль и смонтировать старую ФС. mount /dev/sda3 /mnt/oldroot
и подключить старый /home mount --bind /mnt/oldroot/home /home
Только после этого логиниться пользователем.
Дальше создаём том, куда перенесём /home. Или тома под каждого пользователя, или чего там надо куда переносить, создаём фс, переносим. Переносим опять в два захода. lvcreate -L30G -nhome crypt mkfs.btrfs /dev/crypt/home mkdir /mnt/newhome mount /dev/crypt/home /mnt/newhome rsync -avPHAX /home/* /mnt/newhome/
после того как закончится – разлогиниться пользователем, позвать ещё раз rsync, затем поставить новый /home на своё место. umount /home /mnt/newhome /mnt/oldroot mount /dev/crypt/home /home
И можно вновь логиниться пользователем.
Теперь можно спокойно удалять разделы на внутреннем диске нетбука, создавать там такой же /boot, рсинкать его, затем создавать криптованый раздел,на нём всё так же создавать pv, вносить в группу томов и потом переносить pv с usb-диска на внутренний.
Переносить командой pvmove /dev/sdb3 /dev/sda2 (sda1 – /boot, sda2 – криптованный раздел). Удаляем старый pv из группы. USB-диск больше нам не нужен. vgreduce crypt /dev/sdb3 pvremove /dev/sdb3
Меняем grub.cfg уже на новом диске, ещё раз зовём обновление initramfs и проверяем всё ли правильно. Ещё раз зовём grub-install но на этот раз уже на /dev/sda. grub-install /dev/sda
Перезагружаем машину. Всё должно загрузиться уже с внутреннего диска.
Вот и всё. Особое спасибо Said Chavkin из рассылки debian-russian за ссылку и указание нужного направления, гуглу и прочему интернету :-)
По производительности – не скажу что особо сильно использую диск и мне критична любая наносекунда. “На глаз” – ничего не поменялось. Железка – MSI Wind U120 (1GB RAM, 1.6GHz Atom N270). Из софта, использующего диск активно пожалуй icedove на 5 imap ящиков с кучей папок на несколько гб в сумме да iceweasel.