[lang_en]
Sometimes we need to connect two or more geographically distrubuted ethernet networks to one broadcast domain. There can be two different office networks of some company which uses smb protocol partially based on broadcast network messages. Another example of such situation is computer cafes: a couple of computer cafes can provide to users more convinient environment forr playing multiplayer computer games without dedicated servers.
Both sample networks in this article need to have one *nix server for bridging. Our networks can be connected by any possible hardware that provides IP connection between them.
[/lang_en]
[lang_ru]
Часто возникает потребность в соединении нескольких географически разрозненных сетей (ethernet) в единый broadcast domain. Такая потребность, например, может возникнуть при соединении нескольких отделений одной компании, в которой используется smb-протокол (частично основанный на широковещательных сообщениях). Также одним из вариантов использования описываемой схемы являются игровые клубы (несколько клубов одной игровой сети, будучи объединенными в
единое пространство для широковещательных запросов могут обеспечить пользователям возможность сетевой игры без наличия выделенного сервера).
В каждой из рассматриваемых сетей должен присутствовать один сервер, предназначенный для организации бриджинга. Две наших сети могут быть соединены друг с другом любыми средствами, которые позволяют передачу IP-трафика между шлюзовыми машинами данных сетей.
[/lang_ru]
Read the rest of this entry →
[lang_en]
Plotting traffic graphs is one of the most popular UNIX admin tasks. 😉 Mrtg is a great tool and it is widely used for plotting traffic graphs. It can be easily set up to plot statistics for any SNMP-enabled device (including Linux servers running snmpd). But sometimes we can not setup snmp daemon in Linux server because of small amount of memory or because of some another reasons. How we can plot our favourite graphs in such cases?
[/lang_en]
[lang_ru]
Рисование графиков загрузки сетевых интерфейсов – это, наверное, одно из самых популярных занятий UNIX-администраторов. 😉 Отличным инфтрументом для этого является утилита mrtg. Она может быть без проблем настроена на создание графиков загрузки интерфейсов любого поддерживающего SNMP устройства (в том числе и Linux-сервера с запущенным на нем snmpd). Но, иногда, мы не можем запустить snmp-демон на Linux сервере из-за маленького обхема оперативной памяти или еще по каким-то объективным причинам. Как же быть в такой ситуации, если графики все-таки нужны, но нет SNMP?
[/lang_ru]
Read the rest of this entry →
[lang_en]
Today, I want to describe one of the interesting tools I am using in my job. This tool is nginx – small, but very powerful and efficient web server created by Igor Sysoev for large Russian web company Rambler and kindly provided by open-source community. This server can be used as standalone HTTP-server and as reverse proxy server before some Apache or another “big” server” to reduce load to backend server by many concurrent HTTP-sessions. As standalone web server, nginx can easily handle huge http-load on static files (images, html-pages, etc).
[/lang_en]
[lang_ru]
Сегодня я хотел бы рассказать об еще одном полезном инстументе, который я использую в моей администраторской практике. Этот инструмент – nginx – маленький и легкий, но очень мощный и эффективный web-сервер, созданный Игорем Сысоевым для использования на серверах компании Рамблер и любезно предоставленный им для использования open-source сообществом. Этот сервер может использоваться как самостоятельный HTTP-сервер или как reverse proxy перед Апачем или любым другим “тяжелым” веб сервером для снижения нагрузки на backend-сервере от большого количества одновременных HTTP-сессий. Как самостоятельный сервер, nginx без проблем выдерживает огромные нагрузки при раздаче статического контента (images, html-pages и т.д.).
[/lang_ru]
Read the rest of this entry →
[lang_en]
Some years ago I decided to stop using public mail services and decided to buy my own domain and to setup my own mail server at home to handle all of my email. Work was completed very quickly and I got my own working e-mail server and my own mail domain! Some time there was no problems and I was glad to have an opportunity to have full control over my own mail flow.
But little bit later my ISP decided to make my Internet connection cheaper (for them) and they were assigned private IP address to my home Internet connection (192.168.192.2). As you can predict, from that moment my mail server was not reachable from real world and my mail domain was down.
First available solution was to point my MX record to some real mail server in real Internet and to use fetchmail or something like it ti fetch my email to home server. But this solution was not so flexible, and I decided to take one of IP addresses from IP pool of my employer (I am working for hosting company and company owner approved configuration described here) and to assign it to my home server to make my SMTP server available from real world. “It is impossible”, you can say, “You can not set foreign real IP to interface in PRIVATE network of another ISP!”. Yes, it is true, but using some tricks with Linux policy routing an some tunnelling I can do it! This article is about how it has been done by me.
[/lang_en]
[lang_ru]
Несколько лет назад я решил отказаться от использования внешних почтовых сервисов решил купить домен и настроить домашний сервер для приема всей моей корреспонденции. Работа была завершена очень быстро и я получил свой работающий на домашнем сервере почтовый домен! Некоторое время все работало гладко и ничего не предвещало проблем. Я споекйно наслаждася полным контролем над потоками почты в мой ящик..
Но немного позже мой провайдер решил удешевить мой способ подключения (для себя) и назначить приватный IP-адрес для моего сервера(192.168.192.2). Не сложно предположить, с этого момента мой почтовый сервер перестал быть доступен из реального мира и мой почтовый домен перестал функционировать.
Самым простым решением было бы переставить MX-записи моего домена на реальный мейл-сервер во внешней сети и использовать fetchmail или что-то похожее для доставки почты на домашний сервер. Но это решение не было достаточно гибким и я решил взять один из адресов, принадлежащих IP-пулу моего работодателя (я работаю на хостинговую компанию и ее владелец разрешил построение описанной здесь конфигурации) и назначить его на мой домашний сервер, сделав его таким образом доступным для реального мира. Вы можете сказать: “Это невозможно! Нельзя назначить чужой реальный IP на интерфейс внутри приватной сети другого провайдера!”. Да, в общем случае это так и есть, но при помощи небольшой хитрости с использованием Linux policy routing и тунеллирования это становится возможным. Эта статья расскажет Вам, как это можно сделать.
[/lang_ru]
Read the rest of this entry →
[lang_en]
One of the main tasks of any administrator is to create stable environment for different sorts of businesses. Big part of this task is troubleshooting. There are many different tools in UNIX for system monitoring, but, at my mind, one of the most useful tools is lsof- one of the least-talked-about tools in a UNIX sysadmin’s toolkit. Lsof lists information about files opened by processes. But that’s really an understatement.
Most people forget that, in UNIX, (almost) everything is a file. The OS makes hardware available to applications by way of files in /dev. Kernel, system, memory, device etc. information in made available inside files in /proc. TCP/UDP sockets are sometimes represented internally as files. Even directories are really just files containing other filenames.
Lsof works by examining kernel data-structures and provides a variety of information related to files, pipes, sockets and more.
[/lang_en]
[lang_ru]
Одной из основных задач любого администратора является создание стабильного окружения для выполнения определенных базнес-процессов. Важным элементом этого процесса является поиск неисправностей или каких-либо проблем в системе. В UNIX существует множество утилит для поиска и устранения проблем в системе, но, на мой взгляд, одна из самых полезных таких утилит – lsof – является одним из инструментов администратора, упоминаемых реже всего. Lsof выводит информацию об открытых файлах и открывших их процессах. но это слишком краткое описание.
Большинство людей не знают или забывают, что в UNIX (практически) все является файлом. ОС делает устройства доступнми для приложений при помощи служебных файлов в каталоге /dev. Информация о ядре, системе, памяти, устройствах и т. д. – все это есть в файлах к каталоге /proc. TCP/UDP сокеты часто представляются в программировании как файлы. Даже каталоги – это просто файлы, содержащие списки других файлов.
Lsof работает анализируя структуры данных ядра ОС и представляет различную информацию, относящуюся к файлам, каналам межпроцессного взаимодействия, сокетам и многому другому.
[/lang_ru]
Read the rest of this entry →