Устанавливаем DHCP Server на Debian и Ubuntu

Здесь я расскажу как на Debian или Ubuntu поднять DHCP сервер для раздачи IP адресов компьютерам в локальной сети.

Установка достаточно простая, приступим:

1) Устанавливаем пакет dhcp-server

# apt-get install isc-dhcp-server

2) После чего, нужно отредактировать конфиг, но сначала нужно уточнить какой сетевой интерфейс смотрит в локальную сеть(если на сервере несколько интерфейсов i-net and lan interfaces)

# ifconfig

Устанавливаем DHCP Server на Debian и Ubuntu

как видим на скриншоте на сервере только один интерфейс eth0 смотрит в локальную сеть. Настроим этот интерфейс для раздачи ip адресов.

# nano /etc/default/isc-dhcp-server

находим

INTERFACES=""

и заменяем на

INTERFACES="eth0"
# nano /etc/dhcp/dhcpd.conf

Находим

option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;

Заменяем на

option domain-name "MyLAN.com";
option domain-name-servers 192.168.0.1, 192.168.0.2;
*option domain-name-servers указываем список dns серверов,
 192.168.0.1 = IP адрес сервера первичного DNS
 192.168.0.2 = IP адрес сервера вторичного DNS

Раскомментируем строку

#authoritative;

Далее находим:

default-lease-time 600;
 max-lease-time 7200;
 #subnet 10.254.239.0 netmask 255.255.255.224 {
 #  range 10.254.239.10 10.254.239.20;
 #  option routers rtr-239-0-1.example.org, rtr-239-0-2.example.org;
 #}

Заменяем на:

default-lease-time 32400;
 max-lease-time 72000;
 subnet 192.168.0.0 netmask 255.255.255.0 {
 range 192.168.0.2 192.168.0.254;
 option routers 192.168.0.1;
 }
*default-lease-time 32400; Время на которое выдается IP адрес в секундах.
 *subnet 192.168.0.0 netmask 255.255.255.0 = сеть и маска сети.
 *range 192.168.0.2 192.168.0.254 = пул выдаваемых ip адресов от 2 до 254.
 *option routers 192.168.0.1 = шлюз по умолчанию.

3) Если нужно назначить статическую раздачу IP адресов компьютерам в сети. Добавляем в конец конфига /etc/dhcp/dhcpd.conf

host printServer {
 hardware ethernet 00:0D:87:B3:AE:A6;
 fixed-address 192.168.1.11;
 }
*hardware ethernet 00:0D:87:B3:AE:A6; = MAC адрес сетевой карты printServer-а
 *fixed-address 192.168.1.11; = Выдаваемый IP адрес.

Сохраняем все изменения. И запускаем dhcp сервер.

# /etc/init.d/isc-dhcp-server restart

Автоматическая смена года в копирайте сайта

После нового года у многих пользователей - веб программистов встает вопрос смены года в копирайте сайта ©. Особенно остро вопрос "вcтает" для тех у кого этих сайтов десятки, или даже сотни. 🙂

Copyright © 1991 - 2012 kovalets.net

Для того чтобы забыть о смене года вручную, в месте где у Вас указан год надо написать простую функцию:

<?php echo date('Y'); ?>

В итоге копирайт будет выглядеть как то так:

Copyright © 2008 - <?php echo date('Y'); ?> kovalets.net

Проделав один раз такую процедуру на всех своих сайтах, Вы раз и на всегда забудете об этой проблеме 😉

Прозрачный счетчик на сайте

Большинство активных интернетчиков видели прозрачные баннеры и счетчики статистики на различных интернет форумах, блогах и сайтах, счетчики которые при наведении курсора мышки становились обычными:

Прозрачный счетчик на сайте

Есть много вариантов как это можно сделать, рассмотрим только два самых простых примера:

1. Откройте файл стилей, style.css и добавь код:

#counters a img
 {
 opacity:0.3; -moz-opacity:0.3; filter:alpha(opacity=40);
 }

 #counters a:hover img
 {
 opacity:1.0; -moz-opacity:1.0; filter:alpha(opacity=100);
 }

Далее откройте файл в котором прописаны счетчики (или баннеры), например index.php или index.html или page.php и обрамляйте картинки (счетчики, Баннер) в теги:

<div id="counters">тут счетчики или Баннеры </div>

2. Откройте нужную страницу например index.php со счетчиками и добавьте:

<style type="text/css">
<!--
#counters a img {
opacity:0.3; -moz-opacity:0.3; filter:alpha(opacity=40);
}
#counters a:hover img {
opacity:1.0; -moz-opacity:1.0; filter:alpha(opacity=100);
}
-->
</style>

Далее найдите счетчики и обрамите их так же как и в первом варианте:

<div id="counters">тут картинки, Баннеры </div>

Посмотреть как работает этот эффект можно внизу сайта.

Установка DEB пакетов щелчком по файлу (как в Ubuntu)

Если вы желаете устанавливать программы в Debian двойным щелчком, как это реализовано в Ubuntu, наберите команду:

aptitude install gdebi

При щелчке по deb-пакету будет открываться мастер установки.

Установка DEB пакетов в Linux

Для установки deb пакета (файла) в Linux нужно установить (если еще не установлен) gdebi

sudo apt-get install gdebi

Далее либо просто кликаем по вашему пакету и откроется графический инсталятор, либо запускаем консоль в папке с пакетом и устанавливаем командой:

sudo dpkg -i имя_пакета

Список установленных программ и пакетов в Linux

В Red Hat/Fedora Core/CentOS Linux- подобных наберите следующую команду чтобы получить список установленных программ

# rpm -qa | less

В Debian Linux список установленных пакетов можно увидеть так:

# dpkg --get-selections

В Ubuntu Linux список установленных программ смотрим так:

# sudo dpkg --get-selections

В FreeBSD установленные программы можно посмотреть так:

# pkg_info | less
# pkg_info apache

Используйте команду pkg_version чтобы показать общий список версий всех установленных пакетов в FreeBSD:

# pkg_version | less
# pkg_version | grep 'lsof'

В OpenBSD команда use pkg_info так же ведет себя как и в FreeBSD и покажет список установленных пакетов:

# pkg_info | less
# pkg_info apache

Установка Webmin в Debian Squeeze

Webmin — это графический web-интерфейс для управления сервером на базе Unix подобных операционных систем. То есть установив Webmin вы можете удалённо конфигурировать и управлять Linux сервер в удобном графическом интерфейсе на русском языке через браузер.

Время не стоит на месте и слово Linux все меньше становится чем то грозным и непонятным для рядового пользователя современных компьютеров. Прошли те времена когда *nix системы использовались только в крупных компаниях и было мало специалистов в этой области нежели сейчас. Одним из программных разработок для управления никсовых систем является Webmin. На момент написания статьи последней версией Webmin является 1.580

Программный продукт позволяет комплексно настраивать любые компоненты и программы на линукс. Из основных задач которые могут быть использованы начинающими системными администраторами, это настройка firewall-ов, конфигурация сети, ftp, веб-сервера и много другое. Это значительно упрощает администрирование сервера на базе Linux.

Добавим нужные библиотеки, если их нету в системе:

aptitude install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl apt-show-versions libmd5-perl

Добавляем репозиторий Webmin, редактируем файл /etc/apt/sources.list

nano /etc/apt/sources.list

В самом конце добавляем строку:

deb http://download.webmin.com/download/repository sarge contrib

Устанавливаем GPG ключ:

cd /tmp
wget http://www.webmin.com/jcameron-key.asc
apt-key add jcameron-key.asc

Устанавливаем Webmin для этого вводим команду:

aptitude update
aptitude install webmin

Запустить Webmin можно через браузер:

https://localhost:10000

Примите сертификат и авторизируйтесь, используя учётную запись пользователя root.

Обратите внимание, что именно протокол https, а не http

Дефрагментация в Linux

Пользователи Windows которые начали пользоваться или полностью перешли на свободный Линукс, часто удивляются, узнав, что в Линуксе нет программы дефрагментации диска. Как же так? Чем дефрагментировать?

Читать далее Дефрагментация в Linux

Установка клиента и сервера SSH на Linux

В наше время, протокол SSH используется так же активно, как и раньше. Сейчас я расскажу о том, как установить SSH-сервер и SSH-клиент в Linux’е. Для своих опытов беру Debian GNU/Linux.

Устанавливаем клиент и сервер SSH

На сервер под управлением Debian GNU/Linux, необходимо установить пакет сервера OpenSSH:

$ sudo aptitude install openssh-server

Теперь устанавливаем пакет клиента OpenSSH:

$ sudo aptitude install openssh-client

скорее всего клиент уже установлен на Вашей машине, т.к. он входит в большинство основной комплектации в Linux и *BSD.
Установка нареканий вызвать не должна. В Debian GNU/Linux это всё отточено и автоматизированно.

Подключение при помощи клиента OpenSSH

Вводим команду на компьютере-клиенте вида:

$ ssh -l имя_пользователя IP_сервера

или:

$ ssh -l имя_пользователя домен_сервера

например:

$ ssh -l user 192.168.0.1

Так мы попытаемся зайти на удалённый сервер под именем пользователя user. Естественно, учётная запись этого пользователя должна существовать на сервере.
При первом подключении вам будет предложено скопировать ключ, ответьте на этот вопрос положительно. Затем наберите пароль, и можно начинать полноценную работу.

Туннелирование X через SSH

Благодаря клиент-серверной архитектуре, X-сервер прекрасно туннелируется через SSH. Откройте на сервере файл:

$ sudo nano /etc/ssh/sshd_config

и проверьте в нем наличие строки

X11Forwarding yes

Если стоит no, то замените на yes и перезагрузите ssh-сервер командой:

$ sudo /etc/init.d/ssh restart

Теперь вам нужно залогиниться с использованием ключа -X, например так:

ssh -X -l user 192.168.0.1

После того, как залогинетесь, попробуйте запустить любое графическое приложение, например какой-либо браузер, отдав соответствующую команду. У вас должно открыться окно этой программы, которым вы сможете управлять точно также, как и если бы работали непосредственно на сервере.

Если не нужны иксы, то подключаться можно проще:

$ ssh user@host

20 вещей, которых я не знал в 20 лет

  1. Мир хочет, чтобы вы оставались тупыми.
    Чем вы тупее, тем вам проще продать продукты и услуги. Размер диагонали телевизора обратно пропорционален коэффициенту интеллекта.
  2. Не надо слепо верить в образовательную систему.
    Учебная программа устарела в первый день начала вашего обучения. (Исключение – фундаментальные программы, но только в точных науках; вопрос применения фундаментальных знаний в обычной жизни остается открытым.) 
  3. Читайте без остановки, читайте как можно больше.
    Вы никогда не знаете, когда вам пригодятся новые знания и концепции, но Вы будете намного лучше подготовлены к жизненным неожиданностям. 
  4. Научитесь общаться с окружающими.
    Избегать людей, считая их недостойными своего общения, – значит не найти клиентов, друзей или работу в дальнейшем. 
  5. Быть застенчивым – это пустая трата времени.
    Не давайте эмоциям рулить процессами принятия решений.
     
  6. Если вам что-то не нравится в отношениях с другим человеком, – в случае вашего разрыва это “что-то” и будет причиной. 
  7. Как можно больше общайтесь с людьми старше себя.
    Пытайтесь понять их систему ценностей, их кругозор и логические связи между обстановкой и принятыми решениями.
     
  8. Найдите людей, которыми можно восхищаться, и старайтесь их превзойти. 
  9. Со временем люди становятся более консервативными.
    Если хотите сделать рисковые вещи – делайте их, пока молодые. Я давно пришел к выводу, что реформаторство – это следствие отсутствия знаний, а не наличия фокуса.
     
  10. Не тратьте деньги на ерунду: скопите их на что-то серьезное (в т.ч. и свой стартап). Это вас также научит тратить деньги и в бизнесе: с умом и ради цели. 
  11. Выбирая между тратой денег на вещи или впечатления, выбирайте впечатления. Радость от впечатлений и воспоминаний выше. 
  12. После того, как вы научились экономить, научитесь зарабатывать. 
  13. Научитесь программировать.
    Проще самому сделать прототип, нежели тратить время и деньги на то, чтобы его объяснить кому-то еще. Не хотите программировать – научитесь что-то делать руками, чтобы можно было производить что-то полезное. 
  14. Не набирайте лишний вес в молодости.
    Это сократит вашу активную жизнь на 10-20 лет.
     
  15. Научитесь готовить еду. Лучшее время для обдумывания чего-то – когда вы режете ингредиенты на салат или суп. 
  16. Высыпайтесь ночью.
    Недостаток сна сильно влияет на качество принятия решений.
     
  17. Записывайте свои дела.
    Памяти недостаточно, какой бы фантастической она ни была.
     
  18. Имейте большую мечту.
    Быть гибким отлично, но без мечты это может превратиться в бег по кругу.
     
  19. Станьте специалистом своего дела перед тем, как менять сферу деятельности. Тут дело и в правиле 10000 часов, и в том, что хороший генералист должен в прошлом быть хорошим специалистом. 
  20. Не старайтесь исправить людей. Ищите тех, кто еще не испорчен.

Бонус: Учите 2-3 иностранных языка. Знание языка также дает понимание культуры и понимание разнообразных точек зрения и ценностей.
Учитесь культурно разговаривать и писать без ошибок. Умение говорить складно и по делу пригодится тогда, когда вы будете доносить точку зрения компании потребителям, а также управлять людьми.
Научитесь этично конкурировать в нужных вам областях жизни. Жизнь – очень конкурентная штука, и неумение конкурировать снижает ваши шансы на изменение своего положения или социального статуса.