Насилуем Линукс!

Xakep, номер #038, стр. 038-052-4


1) В качестве семейства процессоров установить PPro/6x86MX для Pentium II/III систем и разрешить MTRR для PentiumPro//II/III.

2) Если у тебя не сервер, то обязательно запрети 'Advanced Power Management'.

3) Обязательно разреши использование DMA по дефолту (Use DMA be defaults).

4) Поставь поддержку только своего чипсета, поддержку остальных сноси к чертовой матери.

5) Установи максимальное число Unix98 PTYs в 128 для стабильности.

6) Сноси на фиг поддержку джойстиков, портов для инфракрасных девайсов, etc.

7) И, наконец, запрети поддержку всех не нужных тебе сетевых устройств. Мысли - типа "А может понадобится в дальнейшем..." - прибивай сразу :). Вот когда понадобятся, тогда и перекомпилишь ядро. А «про запас» - это стиль Билли.

8) Также некоторые маньяки могут запретить поддержку видео, драйверов для звуковых карт. Но это уже дело вкуса и личной необходимости.

Интернет без тормозов!

Думаю, для тебя не секрет, что все *nix-системы, и Линукс в частности, идеально подходят для выхода в сеть: ведь TCP/IP-протокол для таких Осей - родной. Но все-таки, несмотря на это, предлагаю тебе оптимизировать и скорость твоего бесконечного выхода в Инет. Линукс Линуксом, но качество наших российских телефонных линий оставляет желать лучшего. Во-первых, еще до соединения с Интернетом нужно время самих TCP-подключений уменьшить, тем самых позволив системе обработать большее число соединений за то же время. Также можно уменьшить время, которое Линукс ждет на закрытие "устаревших" соединений. Вот параметры, которые нужно подправить в Кровавой Шапке (aka RedHat):

tcp_fin_timeout "180"

tcp_keepalive_time "7200"

tcp_window_scaling "1"

tcp_sack "1"

tcp_timestamps "1"

Для примера возьму 6.1 версию Red Hat. Чтобы исправить эти параметры в шелле, в статусе рута, введи:

echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout

echo 1800 >/proc/sys/net/ipv4/tcp_keepalive_time

echo 0 > /proc/sys/net/ipv4/tcp_window_scaling

echo 0 > /proc/sys/net/ipv4/tcp_sack

echo 0 > /proc/sys/net/ipv4/tcp_timestamps

Конечно, чтобы эта команда каждый раз выполнялась, не забудь добавить ее в /etc/rc.d/rc.local .

Теперь мне придется набить твою умную хацкерскую голову небольшой теорией - не бойся, это не долго :). Вот, вкратце, что происходит, когда ты пытаешься зайти на какой-либо сайт. Вначале твой комп посылает запрос на соединение с выбранным сайтом, который имеет открытый 80 порт. Затем проверяется, нет ли этого сайта на твоем собственном компе или твоей локалке, т.е. сравнивается IP-адрес. Для этого проверяется файл /etc/hosts и локальный файл "nameserver" в каталоге /etc/resolv.conf. Если твой собственный IP и тот адрес, к которому ты хочешь законнектиться, не совпадают, то компьютер, естественно, начинает коннектиться к этому IP. Таким образом, "nameserver" просто переводит www.xxx.com в IP-адрес, сравнивая его со своими и другими базами. (Помнишь, ты устанавливал первичный и вторичный DNS провайдера в настройках? Вот они и есть те самые базы.) "nameserver" занимает ключевое место в этом процессе. Поэтому мы сейчас сотворим с ним что-нибудь такое: авось и убыстрим соединение с Инетом! :) Фишка в том, что можно произвести небольшую модернизацию этого файла и заставить его делать DNS-кеширование ко всем пагам, которые ты посетил, что заметно ускорит их загрузку. Итак, иди в /etc/named.conf и отредактируй этот файл таким образом:

Назад на стр. 038-052-3  Содержание  Вперед на стр. 038-052-5