Założenia wstępne
Serwer pełnił będzie funkcję routera, posiada dwa interfejsy sieciowe:
eth0 (WAN, połączenie z internetem) adresowany przez DHCP, oraz
eth1 (LAN, połączenie z siecią lokalną), adresowany statycznie. Na interfejsie WAN uruchomiona zostanie usługa NAT (translacja adresów). Na interfejsie LAN uruchomione zostaną następujące usługi: serwer DHCP, serwer DNS, Samba jako PDC (Primary Domain Controller), transparentne proxy z filtracją treści WWW (Squid + Dansguardian). Konfiguracja taka może zostać zastosowana np. w
szkolnych pracowniach, czy po modyfikacjach uwzględniających w większym stopniu zagadnienia bezpieczeństwa w małych firmach.
Konfiguracja interfejsów
Zmian dokonujemy w pliku /etc/network/interfaces:
auto lo
iface lo inet loopback
# WAN interface
auto eth0
iface eth0 inet dhcp
# LAN interface
auto eth1
iface eth1 inet static
address 192.168.19.1
network 192.168.19.0
netmask 255.255.255.0
broadcast 192.168.19.255
dns-nameservers 192.168.19.1
dns-search mojadomena.org
dns-domain mojadomena.org
Adres zewnętrzny (WAN, połączenie z Internetem) przyznawany będzie więc dynamicznie, natomiast wewnętrzny (LAN, połączenie z siecią lokalną) ustawiony został na 192.168.19.1. Użyteczne polecenia:
sudo nohup sh -c "ifdown eth0 && ifup eth0"
- restart interfejsu eth0 ("sudo service networking restart" zostało odrzucone);
sudo ip addr
- informacja o wszystkich interfejsach
sudo ifconfig
- informacja o wszystkich interfejsach (obszerniejsza)
Konfiguracja routera i firewalla
Routing, a zarazem firewall zrealizowane zostanie za pomocą iptables. Ponieważ będziemy korzystać z usługi NAT, w pliku
/etc/sysctl.conf trzeba odkomentować opcję:
net.ipv4.ip_forward=1
W pliku
/etc/mojserwer/firewall.sh (nazwa katalogu i pliku dowolna) tworzymy skrypt ładujący odpowiednie reguły:
#!/bin/bash
echo -e "Ładowanie reguł iptables...\n\n"
#Nazwa interfejsu LAN
INTIF="eth1"
# Adres sieci LAN
INTNET="192.168.19.0/24"
# Adres IP interfejsu LAN
INTIP="192.168.19.1"
# Nazwa interfejsu WAN
EXTIF="eth0"
# Adres IP interfejsu WAN (wykryty)
EXTIP="`/sbin/ifconfig $EXTIF | grep 'inet addr' | awk '{print $2}' | sed -e 's/.*://'`"
UNIVERSE="0.0.0.0/0"
# Odkomentowana opcja w /etc/sysctl.conf, więc tu może być zakomentowane
#echo 1 > /proc/sys/net/ipv4/ip_forward
# Wyczyszczenie wszystkich łańcuchów i reguł, określenie domyślnej polityki odrzucania pakietów (DROP).
iptables -P INPUT DROP
iptables -F INPUT
iptables -P OUTPUT DROP
iptables -F OUTPUT
iptables -P FORWARD DROP
iptables -F FORWARD
iptables -F -t nat
if [ "`iptables -L | grep drop-and-log-it`" ]; then
iptables -F drop-and-log-it
fi
iptables -X
iptables -Z
# Utworzenie łańcucha DROP.
iptables -N drop-and-log-it
iptables -A drop-and-log-it -j LOG --log-level info
iptables -A drop-and-log-it -j REJECT
# Reguły INPUT
# Wszystkie połączenia z localhost
iptables -A INPUT -i lo -j ACCEPT
# Odrzucenie połączeń podszywających się pod lokalne
iptables -A INPUT -i $EXTIF -s $INTNET -d $UNIVERSE -j drop-and-log-it
# Protokół ICMP
iptables -A INPUT -i $INTIF -p icmp -s $INTNET -d $UNIVERSE -j ACCEPT
iptables -A INPUT -i $EXTIF -p icmp -s $UNIVERSE -d $EXTIP -j ACCEPT
# Połączeń zwrotne do serwera maskarady na interfejsie LAN
iptables -A INPUT -i $INTIF -s $INTNET -d $INTIP -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
# Komunikaty ICMP: ping i echo
iptables -A INPUT -i $INTIF -p tcp -s $INTNET -d $UNIVERSE --dport 7 -j ACCEPT
iptables -A INPUT -i $INTIF -p udp -s $INTNET -d $UNIVERSE --dport 7 -j ACCEPT
# Zapytania DNS
iptables -A INPUT -i $INTIF -p tcp -s $INTNET -d $UNIVERSE --dport 53 -j ACCEPT
iptables -A INPUT -i $INTIF -p udp -s $INTNET -d $UNIVERSE --dport 53 -j ACCEPT
# Usługi Samby
iptables -A INPUT -i $INTIF -p tcp -s $INTNET -d $UNIVERSE --dport 135 -j ACCEPT
iptables -A INPUT -i $INTIF -p tcp -s $INTNET -d $UNIVERSE --dport 139 -j ACCEPT
iptables -A INPUT -i $INTIF -p tcp -s $INTNET -d $UNIVERSE --dport 445 -j ACCEPT
iptables -A INPUT -i $INTIF -p udp -s $INTNET -d $UNIVERSE --dport 137 -j ACCEPT
iptables -A INPUT -i $INTIF -p udp -s $INTNET -d $UNIVERSE --dport 138 -j ACCEPT
# Protokół SSH
iptables -A INPUT -i $INTIF -p tcp -s $INTNET -d $UNIVERSE --dport 22 -j ACCEPT
# Serwer proxy Squid na interfejsie LAN, port 3128
iptables -A INPUT -i $INTIF -p tcp --dport 3128 -j ACCEPT
# Squid3 transparent bez Dansguardiana - trzeba wtedy odkomentować
#iptables -t nat -A PREROUTING -i $INTIF -p tcp --dport 80 -j REDIRECT --to-ports 3128
# Dansguardian + Squid3 transparent proxy
iptables -A INPUT -i $INTIF -p tcp --dport 8080 -j ACCEPT
iptables -t nat -A PREROUTING -i $INTIF -p tcp --dport 80 -j REDIRECT --to-ports 8080
# Połączenia przychodzące na interfejs WAN
# Połączenia zwrotne do serwera maskarady na interfejsie WAN
iptables -A INPUT -i $EXTIF -s $UNIVERSE -d $EXTIP -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
# Komunikaty ICMP: ping i echo.
iptables -A INPUT -i $EXTIF -p tcp -s $UNIVERSE -d $EXTIP --dport 7 -j ACCEPT
iptables -A INPUT -i $EXTIF -p udp -s $UNIVERSE -d $EXTIP --dport 7 -j ACCEPT
# Odrzucanie i logowanie wszystkich innych połączeń przychodzących
iptables -A INPUT -s $UNIVERSE -d $UNIVERSE -j drop-and-log-it
# Reguły OUTPUT
# Odrzucanie połączeń do sieci LAN z WAN
iptables -A OUTPUT -o $EXTIF -s $UNIVERSE -d $INTNET -j drop-and-log-it
# Wszystkie połączenia localhost
iptables -A OUTPUT -o lo -j ACCEPT
# Zezwolenie dla LAN
iptables -A OUTPUT -o $INTIF -d $INTNET -j ACCEPT
# Zezwolenie na DHCP reply typu broadcast - dla MS Visty
iptables -A OUTPUT -o $INTIF -p udp -s $INTIP --sport 67 -d $UNIVERSE --dport 68 -j ACCEPT
# Zezwolenie dla WAN
iptables -A OUTPUT -o $EXTIF -j ACCEPT
# Odrzucanie i logowanie wszystkie innych połączeń wychodzących
iptables -A OUTPUT -s $UNIVERSE -d $UNIVERSE -j drop-and-log-it
# FORWARD: Włączenie routowania, tj. usługi NAT, zwanej maskaradą, czyli IMPASQ.
# Routing na interfejsie WAN
iptables -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE
# Routowanie ustanowionych połączeń
iptables -A FORWARD -i $EXTIF -o $INTIF -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
# Odblokowanie poszczególnych usług
# Protokół ICMP
iptables -A FORWARD -i $INTIF -p icmp -j ACCEPT
# Porty wysokie
iptables -A FORWARD -i $INTIF -p tcp --dport 1024:65535 -j ACCEPT
iptables -A FORWARD -i $INTIF -p udp --dport 1024:65535 -j ACCEPT
# Komunikaty ICMP: ping, echo
iptables -A FORWARD -i $INTIF -p tcp --dport 7 -j ACCEPT
iptables -A FORWARD -i $INTIF -p udp --dport 7 -j ACCEPT
# Usługa DNS
iptables -A FORWARD -i $INTIF -p tcp --dport 53 -j ACCEPT
iptables -A FORWARD -i $INTIF -p udp --dport 53 -j ACCEPT
# Protokół SSH
iptables -A FORWARD -i $INTIF -p tcp --dport 22 -j ACCEPT
iptables -A FORWARD -i $INTIF -p udp --dport 22 -j ACCEPT
# HTTP-FORWARD-OK
# HTTP -- jeśli wyłączony jest squid i dansguardian, poniższe trzeba odkomentować
# iptables -A FORWARD -i $INTIF -p tcp --dport 80 -j ACCEPT
# iptables -A FORWARD -i $INTIF -p udp --dport 80 -j ACCEPT
# HTTPS
iptables -A FORWARD -i $INTIF -p tcp --dport 443 -j ACCEPT
iptables -A FORWARD -i $INTIF -p udp --dport 443 -j ACCEPT
# FTP
iptables -A FORWARD -i $INTIF -p tcp --dport 20:21 -j ACCEPT
iptables -A FORWARD -i $INTIF -p udp --dport 21 -j ACCEPT
# Poczta
iptables -A FORWARD -i $INTIF -p tcp --dport 25 -j ACCEPT # smtp
iptables -A FORWARD -i $INTIF -p tcp --dport 110 -j ACCEPT # pop3
iptables -A FORWARD -i $INTIF -p tcp --dport 143 -j ACCEPT # imap
iptables -A FORWARD -i $INTIF -p tcp --dport 465 -j ACCEPT # legacy secure SMTP
iptables -A FORWARD -i $INTIF -p tcp --dport 587 -j ACCEPT # smtp Submission
iptables -A FORWARD -i $INTIF -p tcp --dport 993 -j ACCEPT # imap ssl
iptables -A FORWARD -i $INTIF -p tcp --dport 995 -j ACCEPT # pop3s
# Odrzucanie i logowanie wszystkich pozostałych połączeń.
iptables -A FORWARD -j drop-and-log-it
echo -e "Ładowanie reguł iptables zakończone!\n\n"
Plikowi należy nadać prawa do wykonywania:
chmod a+x /etc/mojserwer/firewall.sh
. Aby reguły były wczytywane podczas startu systemu w pliku
/etc/rc.local umieszczamy wywołanie skryptu:
# Start firewalla
cd /etc/mojserwer/
./init_firewall.sh
#
Użyteczne polecenia:
sh /etc/rc.local
- uruchomienie (restart) firewalla i routingu;
Serwer DHCP
Uzupełnienie: tandem isc-dhcp-server + bind można zastąpić usługą
Dnsmasq.
Instalacja (wersja 4.1):
apt-get install isc-dhcp3-server
Konfiguracja
W pliku
/etc/default/isc-dhcp-server ustawiamy interfejs, na którym ma działać serwer:
INTERFACES="eth1"
W pliku
/etc/dhcp/dhcpd.conf definiujemy ustawienia globalne i podsieci:
ddns-update-style none;
option domain-name "mojadomena.org";
option domain-name-servers mojserwer.mojadomena.org;
default-lease-time 600;
max-lease-time 7200;
authoritative;
log-facility local7;
subnet 192.168.19.0 netmask 255.255.255.0 {
range 192.168.19.100 192.168.19.200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.19.255;
option routers 192.168.19.1;
# DNS server
option domain-name-servers 192.168.19.1;
option domain-name "mojadomena.org";
# WINS server
option netbios-name-servers 192.168.19.1;
}
Jak widać zdefiniowano podsieć LAN 192.168.19.0/24, w której serwer będzie przyznawał
adresy w zakresie 192.168.19.100-192.168.19.200. Określono też domyślny adres naszego serwera, czyli 192.168.19.1, udostępniającego usługi routera, DNS i WINS. Uwaga: dopóki nie skonfigurujemy usługi DNS na serwerze, stacje nie będą mogły łączyć się z Internetem przy użyciu nazw domenowych. Na czas konfiguracji usługi DNS można podać adresy zewnętrznych serwerów DNS (np. swojego ISP lub open DNS), np.:
option domain-name-servers 208.67.222.222,208.67.220.220;
Użyteczne polecenia:
sudo service isc-dhcp-server start (restart)
- uruchomienie (restart) serwera dhcp
Squid
Instalacja:
sudo apt-get install squid3
Konfiguracja
Przed utworzeniem pliku konfiguracyjnego warto zmienić nazwę oryginalnego pliku, który zawiera opis wszystkich opcji, natomiast właściwy plik utworzyć od początku:
sudo mv /etc/squid3/squid.conf /etc/squid3/squid.conf.org
sudo touch /etc/squid3/squid.conf
Zawartość pliku:
acl all src
acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
acl localnet src 192.168.19.0/24 #Opis sieci LAN
acl LAN src 192.168.19.0/24 #Opis sieci LAN
acl safeports port 21 70 80 210 280 443 488 563 591 631 777 873 901 81 3128 1025-65535
acl sslports port 443 563 81 873 2087 10000
acl purge method PURGE
acl connect method CONNECT
follow_x_forwarded_for allow localhost
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !safeports
http_access deny CONNECT !sslports
http_access allow localhost
http_access allow localnet
http_access allow LAN
http_access deny all
icp_access allow localnet
icp_access deny all
# Normalny proxy
# http_port 3128
# Transparent proxy
http_port 3128 intercept
# Rozmiar cache'u
cache_mem 8 MB
maximum_object_size_in_memory 512 KB
memory_replacement_policy heap GDSF
cache_replacement_policy heap LFUDA
cache_dir aufs /home/cache 8000 14 256
maximum_object_size 16 MB
cache_swap_low 93
cache_swap_high 97
# Logi
access_log /var/log/squid3/access.log
cache_log /var/log/squid3/cache.log
cache_store_log none
logfile_rotate 5
log_icp_queries off
# TIMEOUTS
forward_timeout 240 second
connect_timeout 30 second
peer_connect_timeout 5 second
read_timeout 600 second
request_timeout 60 second
shutdown_lifetime 10 second
Przygotowanie katalogu cache:
sudo mkdir /home/cache
sudo chmod 777 /home/cache
sudo chown proxy:proxy /home/cache
Utworzenie katalogu cache:
sudo squid3 -z
- nie powinno być żadnych błędów.
Użyteczne polecenia:
sudo service squid3 start (restart)
- uruchomienie (restart) squida;
Dansguardian
Instalacja:
sudo apt-get install dansguardian
Konfiguracja
W pliku
/etc/dansguardian/dansguardian.conf zmieniamy niewiele:
language = 'polish'
filterip =192.168.19.1 #ip, na którym ma nasłuchiwać dansguardian
#accessdeniedaddress = 'http://YOURSERVER.YOURDOMAIN/cgi-bin/dansguardian.pl'
forwardedfor = on
Jak widać, linię
accessdeniedaddress
zakomentowujemy, ostatnia opcja umożliwia wgląd w źródłowe IP klienta. W pliku
/etc/dansguardian/dansguardianf1.conf opisującym domyślną grupę użytkowników (czyli wszystkich) ustalamy reguły filtrowania:
naughtynesslimit = 150 #ustawienie wrażliwości filtra
Dansguardian domyślnie nasłuchuje na porcie 8080, proxy możemy więc konfigurować ręcznie w przeglądarkach wybranych klientów. Jeżeli jednak cały ruch ma przechodzić przez filtr automatycznie (bez wiedzy użytkoników), w skrypcie firewalla (patrz wyżej) muszą znaleźć się wpisy:
iptables -A INPUT -i $INTIF -p tcp --dport 8080 -j ACCEPT
iptables -t nat -A PREROUTING -i $INTIF -p tcp --dport 80 -j REDIRECT --to-ports 8080
- które przekierowują cały ruch http do Dansguardiana. Dodatkowo można zablokować port 3128, na którym nasłuchuje Squid, żeby uniemożliwić użytkownikom obchodzenie filtra.
Użyteczne polecenia:
sudo service dansguardian start (restart)
- uruchomienie (restart) usługi;
sudo dansguardian -g
- polecenie ponownego wczytania konfiguracji, np. po dokonaniu poprawek w listach;
Bind - serwer DNS
Instalacja i konfiguracja Binda jako lokalnego serwera DNS jest opcjonalna. Jeżeli ją pominiemy, pamiętać trzeba o umieszczeniu poprawnych adresów zewnętrznych serwerów DNS w konfiguracji usługi DHCP. Minusem będzie brak możliwości odwoływania się do innych komputerów w sieci lokalnej za pomocą ich nazw. Warto więc rozważyć ewentualne zastąpienie tandemu Bind + ISC DHCP alternatywą, czyli usługą
Dnsmasq.
Instalacja:
sudo apt-get install bind9
Konfiguracja
Ustawień dokonujemy w plikach zawartych w katalogu /etc/bind. Podstawowe opcje ustawiamy w
/etc/bind/named.conf.options:
options {
directory "/var/cache/bind";
forwarders {
208.67.222.222;
208.67.220.220;
};
dnssec-validation yes;
auth-nxdomain no;
listen-on { 192.168.19.1; 127.0.0.1; };
listen-on-v6 { any; };
};
W pliku
/etc/bind/named.conf.local definiujemy naszą domenę lokalną:
zone "mojadomena.org" {
type master;
file "/etc/bind/db.mojadomena.org";
};
zone "19.168.192.in-addr.arpa" {
type master;
notify no;
file "/etc/bind/db.192";
};
W zdefiniowanych powyżej plikach konfiguracyjnych trzeba wprowadzić odpowiednie rekordy DNS. W pliku
/etc/bind/db.mojadomena.org opisujemy naszą domenę:
$TTL 604800
@ IN SOA mojserwer.mojadomena.org. admin.mojadomena.org. (
3 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ); Negative Cache TTL
@ IN NS mojserwer.mojadomena.org.
localhost IN A 127.0.0.1
mojserwer IN A 192.168.19.1
dns1 IN CNAME mojserwer
W pliku
/etc/bind/db.192 konfigurujemy domenę odwrotną:
$TTL 604800
@ IN SOA mojserwer.mojadomena.org. admin.mojadomena.org. (
3 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ); Negative Cache TTL
@ IN NS mojserwer.
1 IN PTR mojserwer.mojadomena.org.
Powyższa konfiguracja ma zapewniać serwer autorytatywny dla domeny lokalnej z funkcją buforowania zapytań, dlatego trzeba jeszcze zadbać, aby wszystkie zapytania DNS na serwerze kierowane były do serwera lokalnego (buforującego). W pliku
/etc/dhcp/dhclient.conf powinniśmy mieć wpisy:
supersede domain-name "mojadomena.org";
prepend domain-name-servers 127.0.0.1;
- dzięki czemu w pliku /etc/resolv.conf znajdzie się właściwy wpis:
nameserver 127.0.0.1
oraz
search mojadomena.org.
Użyteczne polecenia:
sudo service bind9 start (restart)
- uruchomienie (restart) serwera DNS;
named-checkzone example.com /etc/bind/db.mojadomena.org
- sprawdzenie poprawności konfiguracji domeny lokalnej;
named-checkzone 1.168.192.in-addr.arpa /etc/bind/db.192
- sprawdzenie poprawności konfiguracji domeny odwrotnej;
dig -x 127.0.0.1
- sprawdzenie działania serwera na interfejsie lokalnym;
dig google.pl
- testowanie serwera, należy powtórzyć co najniej dwa razy, aby sprawdzić czas odpowiedzi, czyli działanie funkcji buforowania;
tail -f /var/log/syslog
- śledzenie ewentualnych błędów;
Samba
Instalacja:
sudo apt-get install samba
Przed edycją pliku konfiguracyjnego warto zrobić jego kopię:
sudo cp /etc/samba/smb.conf.master /etc/samba/smb.conf.org
. Edytujemy plik
/etc/samba/smb.conf.master:
[global]
workgroup = mojadomena.org
server string = %h server (Samba, Ubuntu)
interfaces = eth1
bind interfaces only = Yes
map to guest = Bad User
pam password change = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
unix password sync = Yes
syslog = 0
log file = /var/log/samba/log.%m
max log size = 100
add machine script = /usr/sbin/useradd -N -g machines -c Machine -s /bin/false -d /dev/null %u
logon script = scripts\logon.cmd
logon path = \\%L\profiles\%U
logon drive = H:
logon home = \\%L\%U
domain logons = Yes
os level = 35
preferred master = Yes
domain master = Yes
dns proxy = No
usershare allow guests = Yes
panic action = /usr/share/samba/panic-action %d
idmap config * : backend = tdb
[homes]
comment = Katalogi domowe
valid users = %S
read only = No
create mask = 0700
directory mask = 0700
browseable = No
[netlogon]
comment = Network Logon Service
path = /srv/samba/netlogon
guest ok = Yes
browseable = No
[profiles]
comment = Users profiles
path = /srv/samba/profiles
read only = No
create mask = 0600
directory mask = 0700
profile acls = Yes
browseable = No
[printers]
comment = All Printers
path = /var/spool/samba
create mask = 0600
guest ok = Yes
printable = Yes
print ok = Yes
browseable = No
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
[public]
comment = Katalog publiczny
path = /home/public
read only = No
guest ok = Yes
[materialy]
comment = Zasoby dla uczniow
path = /home/materialy
guest ok = Yes
Tworzymy katalogi na profile mobilne oraz katalogi udostępniane:
sudo mkdir -m 1777 -p /srv/samba/netlogon
sudo mkdir -m 1777 -p /srv/samba/profiles
sudo mkdir -m 777 -p /srv/samba/public
sudo mkdir -m 755 -p /srv/samba/materialy
Dla każdego użytkownika i każdej maszyny, którą chcemy podłączyć do PDC (kontrolera domeny) musimy utworzyć konta. Ale najpierw utworzymy i zmapujemy w domenie przydatne grupy:
sudo addgroup -gid 200 ntadmins
sudo addgroup -gid 201 machines
sudo addgroup -gid 202 designers
sudo addgroup -gid 203 nobody
net groupmap add ntgroup="Domain Admins" unixgroup=ntadmins rid=512 type=d
net groupmap add ntgroup="Domain Users" unixgroup=users rid=513 type=d
net groupmap add ntgroup="Domain Guests" unixgroup=nobody rid=514 type=d
net groupmap add ntgroup="Designers" unixgroup=designers type=d
Dodanie konta dla maszyny:
/usr/bin/useradd -g machines -d /dev/null -c "machine nickname" -s /bin/false test$
passwd -l test$
smbpasswd -a -m test
Dodanie konta dla użytkownika, dodanie użytkownika do przykładowych grup, dodanie użytkownika do kont samby:
sudo adduser juzio
sudo groupmod -a -G users,designers juzio
sudo smbpasswd -a juzio
Logi samby znajdziemy w
/var/log/samba.
Podręczne polecenia:
sudo service smbd start (restart)
- start (restart) podstawowej usługi
sudo service nmbd start (restart)
- start (restart) usługi przeglądania
sudo pdbedit -L -v
- podgląd użytkowników Samby
Vnstat
Instalacja i konfiguracja:
sudo apt-get install vnstat
sudo vnstat -u -i eth0
sudo vnstat -u -i eth1
Przeglądanie statystyk:
sudo vnstat przełącznik
- -q - ogólne
- -s - krótkie
- -h - ostatnie 12 godzin
- -d - ostatnie dni
- -m - miesiące
- -l - statystyki w czasie rzeczywistym
Optymalizacja
Przede wszystkim podana wyżej konfiguracja Squida i Dansguardiana działa, ale należy dostosować ją do konkretnych warunków, czyli warto obserwować logi:
tail -f /var/log/squid3/access.log
oraz
tail -f /var/log/dansguardian/access.log
Warto zastanowić się, które strony są zaufane/potrzebna, a które należy blokować i dopisać je do plików odpowiednio
/etc/dansguardian/lists/exceptionsitelist oraz
/etc/dansguardian/lists/bannedsitelist.
Na serwerze nie powinny działać żadne usługi, które nie są na nim niezbędne, więc co można usunąć?
sudo apt-get purge whoopsie
- usunięcie narzędzia raportowania błędów (instalowane automatycznie)
sudo apt-get purge update-notifier-common
- usunięcie zbędnych na serwerze powiadomień o aktualizacjach
sudo apt-get purge apport apport-symptoms python-apport python-problem-report
- usunięcie usługi tworzącej raporty awarii
Aktualizacja: powyższa konfiguracja działa również na Debianie (Wheezy), przy czym ISC DHCP Server + Bind zastąpiono pakietem Dnsmasq.
Zobacz:
Dokumentacja