Sys.uz "System Solutions" Личный блог системных Администраторов.

19Сен/110

Группа IP адресов при составления правил в IPTABLES NAT

Статья обновлена 12 января 2014г.

Существует компьютерная сеть офиса. На шлюзе стоит ОС Linux Fedora, ядро версии 2.6.39, NAT, заворот web портов на squid(прозрачно).

В рабеоте требуются несколько сайтов написанных полностью на java. Открытие этих сайтов с использованием squid вызывает некорректную их работу, причем в логах это никак не описывается. Все нормально и ппц... После копания в дебрях интернета и обсуждения на форумах мной было принято решение просто исключить данные сайты из заворота на squid. И тут возникла другая проблема: сайты имеют разные IP и перечислить их в правеле заворота стандартными методами невозможно. Еслибы это были цепочки INPUT, OUTPUT, FORWARD то эти сайты можно прописать в разных строчках. Но только не в таблице NAT.

Задача такая, найти способ ввода нескольких ip в одно правило NAT. (Пример: iptables -t nat -A PREROUTING -s 192.168.0.0/24 ! -d (1.1.1.1,2.2.2.2,3.3.3.3 и т.д.) -p tcp --dport 80 -j REDIRECT --to-ports 3128 ).

11Сен/110

Настройка nginx в качестве front-end к apache (nginx apache web)

В связи с большим количеством соединений с WEB сервером Apache встала проблема нехватки системных ресурсов на сервере. Для дальнейшей эффективной работы сервера без дополнительных затрат на модернизацию аппаратной составляющей, встала задача по оптимизации использования существующих системных ресурсов.

Для выполнения поставленной задачи было проведено тестирование модели front end/back end системы при которой в качестве front end выступает легкий web сервер nginx, а в качестве back end выступал все тот же apache.

Преимущества подобной схемы можно понять на небольшом примере. Представьте себе, что к вашему web серверу apache необходимо обслужить порядка 1000 запросов одновременно, причем многие из этих клиентов подключены к медленным каналам связи. В случае использования apache мы получим 1000 процессов httpd на каждый из которых будет выделена оперативная память, и эта память не освободится до тех пор, пока клиент не получит запрошенный контент (в идеальном варианте конечно).

В случае схемы с применением front end/back end сервера получим значительную экономию системных ресурсов за счет того, что после того как пришел запрос клиента, nginx передает запрос apache и быстро получает ответ. В итоге apache после того как отдал ответ nginx освобождает память, далее с клиентом взаимодействует web сервер nginx, который как раз и написан для раздачи статического контента, большому количеству клиентов, при незначительном потреблении системных ресурсов.

11Сен/110

Жесткая перезагрузка Linux

К сожалению, иногда команды reboot в Linux не достаточно для перезагрузки. Из-за этого появляется желание перезагрузить комп, находящийся за несколько километров, без выполнения корректной остановки демонов и т.п., то есть удаленно его Reset-нуть.

Выполнить это можно командой:

echo 1 > /proc/sys/kernel/sysrq
echo b > /proc/sysrq-trigger

Аналогичная конструкций для выключения компьютера:

echo 1 > /proc/sys/kernel/sysrq
echo o > /proc/sysrq-trigger
Связано с категорией: Linux Нет комментариев
4Сен/110

Как переименовать сетевые интерфейсы (eth0 в eth1, eth1 в bla-bla и т.д.)

Имена сетевых интерфейсов в Linux компьютерах в последнее время стали привязываться к конкретным устройствам. Так, если вы вытащите жесткий диск с одного компьютера и вставите его в другой, то сетевая карта, называвшаяся на старом компьютере eth0, станет на этом eth1. А при попытке сделать ifconfig eth0 up система будет говорить, что, дескать, такого устройства не существует.

Собака зарыта в udev, который по умолчанию привязывает имена сетевых устройств к их MAC адресам. Например, в Fedora 14 это находится в файле

/etc/udev/rules.d/70-persistent-net.rules

Или воспользоваться командой

ip link set eth0 name eth2 - переименовываем eth0 в eth2

последний метод ( через программу ip ) может вернуть все обратно при перезагрузке.

Связано с категорией: Linux Нет комментариев
1Сен/110

Install Sun/Oracle Java JDK/JRE 7 on Fedora 15/14, CentOS/RHEL 5.6/6

This is guide, howto Install Sun/Oracle Java JDK and JRE 7 on

Fedora 15, Fedora 14, Fedora 13, Fedora 12, CentOS 5.6, CentOS 6, Red Hat (RHEL)

5.6, Red Hat (RHEL) 6.

If you’re looking instruction for Sun/Oracle Java JDK/JRE version 6 installation, please check this guide.

What’s new in Sun/Oracle Java 7

Связано с категорией: Linux Читать полностью
   
Перейти к верхней панели