LINUX.ORG.RU

Отключение IPv6 в Debian Squeeze


0

1

Уже сильно надоело то, что любая программка пытается сначала достучаться к серверу по IPv6, это занимает ~10 с. В бубунте IPv6 выпилен, в арче, как следует из вики, он собран в виде модуля и его можно просто тупо не загружать. Но пересобирать ведро не хочется из-за такой мелочи. Почитал, как сделать это в дебиане:

http://wiki.debian.org/DebianIPv6#How_to_turn_off_IPv6

Пожалуйста, поясните, кто разбирается, что именно делается командой:

echo net.ipv6.conf.all.disable_ipv6=1 > /etc/sysctl.d/disableipv6.conf

Можно ли будет в случае чего вернуть IPv6? И является ли этот способ Ъ, или есть более элегантные?

★★★★★

Последнее исправление: eugeno (всего исправлений: 1)

> что именно делается командой:
Создаётся файл, в который записывается значение sysctl, которое при включении применяет init-скрипт /etc/init.d/procps.

Можно ли будет в случае чего вернуть IPv6?

Да, просто удалите этот файл (/etc/sysctl.d/disableipv6.conf) и перезагрузитесь или введите sysctl net.ipv6.conf.all.disable_ipv6=0

И является ли этот способ Ъ

Да, он является наиболее правильным из известных мне.

AITap ★★★★★
()

Что, правда, в бубунте IPv6 выпилен?

Ох они уроды.

А как тогда в ГЗ бубунтой пользуются? С бубном и плясками? Или там флажок есть?

ChALkeR ★★★★★
()

~10 с

В бубунте IPv6 выпилен

Для меня это откровения.

ChALkeR ★★★★★
()
Ответ на: комментарий от ChALkeR

Для тех, кто не был и не жил в ГЗ, поясню: там бесплатная сетка. Выход в интернет по IPv4 ограничен по скорости, причём достаточно сильно. IPv6 не ограничен никак.

Например, до google.com и mirror.yandex.ru скорость зверская из линукса (дефолтный арч).

Что примечательно — из винды паршивая (с чьего-то компа образ качал), они скорее всего при наличии и IPv4 и IPv6 выбирают IPv4. Но, возможно, это настраивается.

ChALkeR ★★★★★
()

пересобери ядро, отключив IPv6 в конфиге

Harald ★★★★★
()
Ответ на: комментарий от ChALkeR

Что, правда, в бубунте IPv6 выпилен?

Ну, во всяком случае все приложения сразу достукиваются до серверов. В дебиане после отключения тоже. Почитав арчвики, я понял, что проблема 10-секундной паузы действительно в IPv6.

eugeno ★★★★★
() автор топика
Ответ на: комментарий от ChALkeR

Ссылку! Не видел никакой 10-секундной паузы никогда, первый раз слышу.

https://wiki.archlinux.org/index.php/Disabling_IPv6_(Русский)

Модуль IPv6 не только занимаем в памяти порядка 250k, но он так же влияет и на скорость доступа в сети для многих программ, и некоторые из них ошибочно используют сервера нового протокола для запросов ipv6. Например, таким «пострадавшим» приложением является Firefox.

Такой баг (или фича) наблюдается, когда соединение с провайдером устанавливается в модеме (работает в режиме роутера). Если же я устанавливаю соединение через pppoeconf, то никаких пауз не наблюдается.

eugeno ★★★★★
() автор топика
Ответ на: комментарий от ChALkeR

Где про 10 секунд?

Это уже у меня. Я точно не засекал, но где-то так. Да, и если в Iceweasel в about:config указать network.dns.disableIPv6 = true, то пауза пропадает. Вот так я и установил причинно-следственную связь. Правда, не понятно, почему это происходит только тогда, когда соединение устанавливается автоматически роутером.

eugeno ★★★★★
() автор топика

что именно делается командой

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

ChALkeR ★★★★★
()
Ответ на: комментарий от ChALkeR

Работает при загрузке. Добавление заметишь при перезагрузке. Убирание этого файла (или строчки, если пишешь не в отдельный файл) вернёт всё на настройки по умолчанию опять же при перезагрузке.

Того же самого эффекта без перезагрузки можно достичь так:

# echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6
Будет работать до перезагрузки. Узнать текущее состояние так:
$ cat /proc/sys/net/ipv6/conf/all/disable_ipv6

По буквам: опции в реальном времени меняются как привёл я, при загрузке читаются файлы /etc/sysctl.conf и /etc/sysctl.d/*.conf, и применяются оттуда. Добавление строчки «net.ipv6.conf.all.disable_ipv6=1» в /etc/sysctl.conf или в отдельный файл в /etc/sysctl.d/ даст тебе этот эффект навсегда. Удаление строчи или файла — уберёт.

Применить и сейчас и при перезагрузке ты можешь выполнив и то и то ).

ChALkeR ★★★★★
()

Ты, сначала разберись куда у тебя ведёт default route для IPv6 `ip -6 route | grep default`. И выясни почему этот кто то считает себя IPv6 роутером, но при это не маршрутизирует трафик. Если нет маршрута, то программы пытающиеся подключится куда-то обламываются мгновенно.

Хакерский способ, ip6tables -A INPUT -s $invalidrouter -p icmp6 --icmpv6-type 134 -j DROP. $invalidrouter заменить на адрес, на который ведёт маршрут по умолчанию. Ну и прописать это куда нибудь в /etc/network/if-pre-up.d/. IPv6 продолжит загружаться, но 10 с. пауза пропадёт.

anonymous
()

> любая программка пытается сначала достучаться к серверу по IPv6

Ты что-то делаешь не так

cvs-255 ★★★★★
()
Ответ на: комментарий от eugeno

Арч такой арч. Сколько лет живу, ни разу подобной ерунды не наблюдал. IPV6 не отключал, интернет через adsl в режиме роутера.

cvs-255 ★★★★★
()

Уже сильно надоело то, что любая программка пытается сначала достучаться к серверу по IPv6, это занимает ~10 с.

У вас что-то не так с найтроками, это не должно занимать 10 сек.

В бубунте IPv6 выпилен

Эм... Вообще-то в бубунте IPv6 не только не выпилен, но ещё и работает искаропки =).

И является ли этот способ Ъ, или есть более элегантные?

Ъ-способ - это разобраться с настоящими причинами вот этого:

любая программка пытается сначала достучаться к серверу по IPv6, это занимает ~10 с

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.