Po pierwsze schemat "sieci" i rola serwera.

Więc jak widać. Serwer posiada dwie karty sieciowe.
[INDENT]eth0 - 192.168.0.1 - na niej odpalone jest dhcp. Przez eth0 użytkownicy sieci wychodzą do internetu.
eth1 - zew. ip (ustawione na dhcp) - ip przydzielany przez modem.[/INDENT]
Ustawienia /etc/network/interfaces
Kod: Zaznacz cały
#DHCP
allow-hotplug eth0
iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0
#MODEM
allow-hotplug eth1
iface eth1 inet dhcp
I tak przedstawia się konfiguracja /etc/dhcp3/dhcpd.conf:
Kod: Zaznacz cały
ddns-update-style none;
option domain-name-servers 8.8.8.8, 194.204.152.34;
default-lease-time 86400;
max-lease-time 604800;
authoritative;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.100 192.168.0.240
option subnet-mask 25.255.255.0;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
}
Otwarte porty to 1337 - ssh i 1194 0 openvpn. SSH jest odblokowane na wypadek gdyby padł VPN. Na dodatek ma zablokowane logowanie się konto roota.
Co do samego VPN-a to adresowanie sieci VPN jest 192.168.150.0. W konfigu dodatkowo, aby była możliwość podłączenia się do komputerów w sieci lokalnej dodana jest linijka:
Kod: Zaznacz cały
push "route 192.168.0.0 255.255.255.0"
Teraz chyba najważniejsze. Konfiguracja firewalla. Stworzyłem skrypt, który uruchamia się przy starcie systemu i uruchamia konfigurację iptables. Sama konfiguracja iptables, prezentuje się następująco.
Kod: Zaznacz cały
# CZYSZCZENIE WPISOW
iptables -F
iptables -X
# DOMYSLNA POLITYKA
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
# DOPUSZCENIE ISTNIEJACYCH JUZ POLACZEN
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
# IP FORWARDING
echo 1 > /proc/sys/net/ipv4/ip_forward
# FORWARDOWANIE IP Z 192.168.0.0 DO INTERNETU
iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE
# FORWARDOWANIE IP Z 192.168.150.0 (VPN)
iptables -A FORWARD -s 192.168.150.0/24 -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.150.0/24 -j MASQUERADE
# DOPUSZCZENE RUCHU WYCHODZACEGO Z LAN BEZ OGRANICZEN
iptables -t filter -A FORWARD -i eth1 -s 192.168.0.0/24 -d 0/0 -j ACCEPT
# _______________
# ETH1 - INTERNET
# SSH
iptables -A INPUT -i eth1 -p tcp --dport 1337 -j ACCEPT
# OPENVPN
iptables -A INPUT -i eth1 -p tcp --dport 1194 -j ACCEPT
# DOPUSZCZENIE PING
iptables -A INPUT -i eth1 -p icmp -j ACCEPT
# ______________
# LO - LOCALHOST
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A FORWARD -o lo -j ACCEPT
# ___________________
# ETH0 - SIEC LOKALNA
iptables -A INPUT -i eth0 -p tcp -j ACCEPT
iptables -A INPUT -i eth0 -p udp -j ACCEPT
# ______________
# TUN0 - OPENVPN
iptables -A INPUT -i tun0 -p tcp -j ACCEPT
iptables -A INPUT -i tun0 -p udp -j ACCEPT