$sudo nano -w /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 10.10.10.1
netmask 255.255.255.0
network 10.10.10.0
broadcast 10.10.10.255
gateway 10.10.10.2
$sudo nano -w /etc/resolv.conf
domain Ваш домен
search Ваш домен
nameserver ip-адрес вашего dns сервера
nameserver ip-адрес вашего dns сервера (таких записей может быть несколько)
$sudo /etc/init.d/networking restart
$ping -c3 ya.ru
$sudo iptables -F
$sudo iptables -P INPUT DROP
$sudo iptables -P OUTPUT ACCEPT
$sudo iptables -P FORWARD DROP
$sudo iptables -A INPUT -m -state --state INVALID -j DROP
$sudo iptables -A OUTPUT -m -state --state INVALID -j DROP
$sudo iptables -A INPUT -m -state --state RELATED,ESTABLISHED -j ACCEPT
$sudo iptables -A INPUT -i lo -j ACCEPT
$sudo iptables -A INPUT -i lo -j ACCEPT
$sudo iptables -A INPUT -p icmp -i eth0 -j ACCEPT
$sudo iptables -A INPUT -p tcp -i eth0 -m multiport --dports 22,67,68 -j ACCEPT
#iptables-save > /etc/firewall.conf
Создадим скрипт для автоматического подъёма правил$sudo nano -w /etc/network/if-pre-up.d/00-iptables
#!/bin/bash
iptables-restore < /etc/firewall.conf
$sudo chmod +x /etc/network/if-pre-up.d/00-iptables
5. Настраиваем apt$sudo nano -w /etc/apt/apt.conf
Acquire::http::Proxy "http://ip-address:port/";
$sudo aptitude update
$sudo aptitude dist-upgrade
$sudo aptitude install most mc ssh exim4 heirloom-mailx dhcp3-server ntpdate sysv-rc-conf
7. Перенаправляем лог DHCP-сервера$sudo mkdir /var/log/dhcp
$sudo touch /var/log/dhcp/dhcp.log
$sudo nano -w /etc/rsyslog.d/50-default.conf
local7.debug /var/log/dhcp/dhcp.log
$sudo service rsyslog restart
8. Подключаемся к проекту ManyDHCP.$sudo nano -w /root/ManyDHCP-monitor
#!/bin/bash
#Script for managing DHCP server via ManyDHCP programm
if [ -e /home/pk/dhcpd.conf ] ; then
cd /etc/dhcp3/;
tar -czf /var/log/dhcp-old-conf/dhcpd$(date +"_%Y-%m-%d_%H:%M:%S").conf.tgz dhcpd.conf
mv /home/pk/dhcpd.conf /etc/dhcp3/dhcpd.conf;
sleep 2;
/etc/init.d/dhcp3-server force-reload
sleep 10;
ps aux|grep dhcp|mail -s "DHCP-server on Derbenevskoy" -a /etc/dhcp3/dhcpd.conf it-cfg@domain.ru
echo `date +"%Y-%m-%d_%H:%M:%S"` "Проверка на наличие нового конфига => файл найден, изменения произведены"
else echo `date +"%Y-%m-%d_%H:%M:%S"` "Проверка на наличие нового конфига => файл не найден"
fi
$sudo nano -w /root/Disk-monitor
#!/bin/bash
#Script for monitoring disk
find /var/log/dhcp-old-conf/ -name "dhcpd*.tgz -mtime +30 -delete"
df -h|mail -s "Sizes on disk, DHCP-server on Derbenevskoy" it-cfg@domain.ru
$ sudo chown root:root /root/ManyDHCP-monitor
$ sudo chown root:root /root/Disk-monitor
$ sudo chmod +x /root/ManyDHCP-monitor
$ sudo chmod +x /root/Disk-monitor
$ sudo mkdir /var/log/dhcp-old-conf
$ sudo mkdir /var/log/manydhcp
$ sudo touch /var/log/manydhcp/manydhcp.log
$ sudo crontab -u root -e
*/15 * * * * /bin/bash /root/ManyDHCP-monitor >> /var/log/manydhcp/manydhcp.log
15 12 1 1-12 * /bin/bash /root/Disk-monitor > /dev/null 2>&1
sudo nano /etc/cron.daily/ntpdate
#!/bin/bash
ntpdate 172.30.1.6
#chmod 755 /etc/cron.daily/ntpdate
Говорим демону Cron, что у него обновились задания$ sudo /etc/init.d/cron reload
$sudo nano -w /etc/logrotate.d/manydhcp
/var/log/manydhcp/manydhcp.log {
rotate 4
daily
compress
missingok
notifempty
create
}
$sudo nano -w /etc/logrotate.d/dhcp
/var/log/dhcp/dhcp.log {
rotate 4
daily
compress
missingok
notifempty
create
postrotate
/usr/bin/killall -HUP syslogd
endscript
}
$ sudo logrotate -d /etc/logrotate.d/manydhcp
$ sudo logrotate -d /etc/logrotate.d/dhcp
$ sudo logrotate -v -f /etc/logrotate.d/manydhcp
$ sudo logrotate -v -f /etc/logrotate.d/dhcp
$sudo dpkg-reconfigure exim4-config
я использую вариант: отправка почты через smarthost; локальная почта отсутствует$sudo dpkg-reconfigure postfix (если используем posfix)
11. Покрасим консольный вывод манов$sudo nano -w .bashrc
export MANPAGER="/usr/bin/most -s"
$sudo nano -w .bashrc
alias l='ls --color=auto'
alias ll='ls -l --color=auto'
alias la='ls -la –color=auto'
$ sudo nano -w /etc/default/dhcp3-server
INTERFACES="eth1 eth2 eth3 eth4"
# nano -w /etc/sysconfig/dhcpd
DHCPD_INTERFACE="eth0" (указываем демону какой интерфейс слушать)
# nano -w /etc/ssh/sshd_config
PasswordAutentication yes (разрешаем упр. серваку логиниться по паролю)
# chkconfig --set dhcpd 345
И на всякий случай: dhcpd.conf лежит по пути /etc/dhcpd.conf