Nvidia Optimus на Debian Jessie.

Добавляем репозиторий в /etc/apt/sources.list:

deb http://http.debian.net/debian/ jessie main contrib non-free

aptitude update
aptitude -y install nvidia-kernel-dkms bumblebee-nvidia bbswitch-dkms

vim /etc/bumblebee/bumblebee.conf:

KernelDriver=nvidia-current
KeepUnusedXServer=true

Добавляем пользователя в группу bumblebee:
usermod -a -G bumblebee myuser

Перезагружаемся

Теперь, внешний видеоадаптер будет включаться/выключаться сам. Если нужно запустить программу с внешним видеоадаптером, то запускаем через optirun, например:
optirun iceweasel

В лог будет писать примерно так:

kernel: [   25.040245] bbswitch: detected an Optimus _DSM function
...
kernel: [   25.040284] bbswitch: Succesfully loaded. Discrete card 0000:01:00.0 is on
...
kernel: [12989.159658] bbswitch: enabling discrete graphics
...
kernel: [12989.159658] bbswitch: enabling discrete graphics

Arpwatch на Debian Jessie

Добавляем репозиторий
vim /etc/apt/sources.list:

deb http://ftp.ua.debian.org/debian/ jessie main


aptitude update
aptitude -y install arpwatch libdbi-perl libdatetime-perl apache2 apache2-utils fcgiwrap libapache2-mod-fcgid iptables-persistent

Настраиваем запуск arpwatch на определенный сетевой интерфейс
vim /etc/arpwatch.conf:

eth0 -a -m admin@example.com

invoke-rc.d arpwatch restart

Настраиваем веб интерфейс к arpwatch (http://sources.homelink.ru/arpwatch/arpwatch-rus.html)

mkdir /etc/arpwatch
wget http://sources.homelink.ru/arpwatch/arpwatch-homelink-20100228.tar.gz
tar xzf arpwatch-homelink-20100228.tar.gz -C /etc/arpwatch

Создаем базу данных
mysql -u root -p
create database arpwatch;
use arpwatch;
source /etc/arpwatch/arpwatch.sql
grant insert on arpwatch.arpwatch to arpwatch2sql@localhost identified by 'arpwatchdbpass';
grant select on arpwatch.arpwatch to arpwatch2cgi@localhost identified by 'arpwatchdbpass';
flush privileges;
quit;

Шифруем пароль от базы данных
mysql_config_editor set --login-path=arpwatch --host=localhost --user=arpwatch2sql --password

vim /etc/crontab:

*/5 * * * * root /etc/arpwatch/arpwatch2sql | mysql --login-path=arpwatch arpwatch

mkdir /var/www/arpwatch
cp /etc/arpwatch/{Webutils.pm,arpwatch.cgi,arpwatch-topstats.cgi} /var/www/arpwatch/
chown -R www-data:www-data /var/www/arpwatch

vim /var/www/arpwatch/Webutils.pm:

sub webutils_utminit(;$)
{
        my $dbh = DBI->connect("DBI:mysql:database=arpwatch:host=localhost",
                                "arpwatch2cgi", "arpwatchdbpass")
                or die "Cannot connect to database ".$DBI::errstr."\n";
        $dbh;
}

vim /etc/apache2/conf-enabled/arpwatch.conf:

Alias /arpwatch "/var/www/arpwatch/"
<Directory "/var/www/arpwatch/">
    Options ExecCGI
    DirectoryIndex arpwatch.cgi
    AllowOverride None
    AuthType Digest
    AuthName "arpwatch"
    AuthUserFile "/etc/arpwatch/.htpasswd"
    require user valid-user
</Directory>

a2enmod auth_digest
htdigest -c /etc/arpwatch/.htpasswd arpwatch admin

При последующем добавлении пользователей ключ «-c» не нужен
chgrp www-data /etc/arpwatch/.htpasswd
invoke-rc.d apache2 reload

Веб интерфейс будет доступен по http://example.com/arpwatch

Открываем порт для apache
iptables -I INPUT 1 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -I INPUT 2 -s 192.168.0.0/24 -d 192.168.0.1 -i eth0 -p tcp -m state --state NEW --dport 80 -j ACCEPT
invoke-rc.d netfilter-persistent save

Drupal на Debian Jessie

Добавляем репозиторий
vim /etc/apt/sources.list:

deb http://ftp.ua.debian.org/debian/ jessie main


aptitude update
aptitude -y install openssl drupal7 iptables-persistent

vim /etc/apache2/sites-available/000-default.conf:

<VirtualHost *:80>
        ServerName example.com
        ServerAdmin admin@example.com
        DocumentRoot /usr/share/drupal7/
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

vim /etc/apache2/sites-available/default-ssl.conf:

<IfModule mod_ssl.c>
        <VirtualHost _default_:443>
                ServerAdmin webmaster@example.com
                DocumentRoot /usr/share/drupal7/
                Options FollowSymLinks ExecCGI
                ErrorLog ${APACHE_LOG_DIR}/error.log
                CustomLog ${APACHE_LOG_DIR}/access.log combined
                SSLEngine on
                SSLCertificateFile      /etc/ssl/private/example.com.crt
                SSLCertificateKeyFile   /etc/ssl/private/example.com.key
                <FilesMatch "\.(cgi|shtml|phtml|php)$">
                                SSLOptions +StdEnvVars
                </FilesMatch>
                <Directory /usr/lib/cgi-bin>
                                SSLOptions +StdEnvVars
                </Directory>
                BrowserMatch "MSIE [2-6]" \
                                nokeepalive ssl-unclean-shutdown \
                                downgrade-1.0 force-response-1.0
                BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
        </VirtualHost>
</IfModule>

Генерируем самоподписные сертификаты SSL
cd /etc/ssl/private
openssl genrsa -des3 -out example.com.key 2048
openssl rsa -in server.key -out example.com.key
openssl req -new -days 36500 -key example.com.key -out example.com.csr
openssl x509 -in example.com.csr -out example.com.crt -req -signkey example.com.key -days 3650
chmod 400 example.com.*

Создаём папку для нашего сайта и настройки по умолчанию:
cd /usr/share/drupal7/sites/
mkdir example.com
cp -a default/* example.com
vim example.com/dbconfig.php:

<?php
$databases['default']['default'] = array(
        'driver' => 'mysql',
        'database' => 'drupal',
        'username' => 'drupal',
        'password' => 'drupaldbpass',
        'host' => 'localhost',
        'port' => '',
        'prefix' => ''
);

?>

chown -R www-data:www-data /usr/share/drupal7

Создаём базу данных для drupal:
mysql -u root -p
create database drupal;
GRANT ALL ON drupal.* TO drupal@localhost IDENTIFIED BY 'drupaldbpass';
quit;

a2enmod ssl rewrite
a2ensite default-ssl
invoke-rc.d apache2 restart

Запускаем установку drupal
https://example.com/install.php

Открываем порты
iptables -I INPUT 1 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -I INPUT 2 -s 192.168.0.0/24 -d 192.168.0.1 -i eth0 -p tcp -m state --state NEW -m multiport --dports 80,443 -j ACCEPT
invoke-rc.d netfilter-persistent save

NAT на Debian Jessie

Имеем 2 сетевых интерфейса:
eth0 — локальная сеть 192.168.40.1
eth1 — интернет 100.200.1.1

Добавляем репозиторий
vim /etc/apt/sources.list:

deb http://ftp.ua.debian.org/debian/ jessie main

aptitude update
aptitude -y install isc-dhcp-server iptables-persistent

Настраиваем сетевые интерфейсы
vim /etc/network/interfaces:

auto eth1
allow-hotplug eth1
iface eth1 inet dhcp

auto eth0
allow-hotplug eth0
iface eth0 inet static
    address 192.168.40.1

invoke-rc.d networking stop && invoke-rc.d networking start

Включаем пересылку пакетов в ядре:
vim /etc/sysctl.conf:

net.ipv4.ip_forward=1

sysctl -p

vim /etc/dhcp/dhcpd.conf:

ddns-update-style none;
option domain-name-servers здесь через запятую вписываем IP адреса вашего интернет провайдера;
default-lease-time 600;
max-lease-time 7200;
authoritative;
log-facility local7;
subnet 192.168.40.0 netmask 255.255.255.0 {
range 192.168.40.2 192.168.40.10;
option routers 192.168.40.1;
}

Выбираем интерфейс, на котором будет работать DHCP сервер
vim /etc/default/isc-dhcp-server:

INTERFACES="eth0"

invoke-rc.d isc-dhcp-server start

Включаем NAT и открываем порт для DHCP клиентов
iptables -I POSTROUTING 1 -s 192.168.40.0/24 -o eth1 -j SNAT --to-source 100.200.1.1
iptbales -I INPUT 2 -s 192.168.40.0/24 -d 192.168.40.1 -i eth0 -p udp --dport 67 -j ACCEPT
invoke-rc.d netfilter-persistent save