Potrzebne będą dwie karty sieciowe, które oczywiście już masz i włożyłeś do serwera :]
Konfiguracja sieci:
zależnie od dystrybucji konfiguracja może mieć różny przebieg ja opisze ją na przykładzie pliku
/etc/sysconfig/network, /etc/sysconfig/network-scripts/ifcfg-eth0, /etc/sysconfig/network-scripts/ifcfg-eth1
/etc/sysconfig/network
HOSTNAME=nazwa_hosta.domena.pl # jezeli nie masz swojej domeny wpisz jakąkolwiek
NETWORKING=yes
GATEWAY=80.53.16.121# Zarezerwowany adres modemu
GATEWAYDEV=eth1# interfejs do którego wpięty jest modem
/etc/sysconfig/network-scripts/ifcfg-eth0 - interfejs lokalny
| DEVICE=eth0 BOOTPROTO=static IPADDR=192.168.1.1 # ip interfejsu lokalnego NETMASK=255.255.255.0 # maska NETWORK=192.168.1.0 # adres sieci BROADCAST=192.168.1.255 # broadcast ONBOOT=yes # laduje interfejs przy starcie systemu MII_NOT_SUPPORTED=no |
Oczywiscie ip jest umowne i czy będzie to 192.168.1.1 czy 192.168.0.1 czy co tam kto sobie wymyśli to jego broszka ale ważne by zgadzało się z maską i adresem sieci ;)
/etc/sysconfig/network-scripts/ifcfg-eth1 - DSL (do tego interfejsu wpięty jest modem)
| DEVICE=eth1 BOOTPROTO=static IPADDR=80.53.16.122 # Pierwszy "Adres dostepny dla abonenta" NETMASK=255.255.255.248 # Maska NETWORK=80.53.16.120 # Zarezerwowany adres sieci BROADCAST=80.53.16.127 # Zarezerwowany adres rozgloszeniowy sieci ONBOOT=yes MII_NOT_SUPPORTED=no |
Konfiguracja IPTABLES (prosty firewall)
| #!/bin/sh # Sciezka do iptables IPTABLES=/sbin/iptables # Interfejs zewnetrzny (DSL) EXT_IP=80.53.16.122 EXT_INT=eth1 # Lokalny interfejs (LAN) LAN_IP=192.168.1.1 LAN_INT=eth0 # Siec SIEC_IP=192.168.1.0 SIEC_MASKA=255.255.255.0 # Hosty, ktorym udostepniamy lacze HOST1=192.168.1.2 HOST2=192.168.1.3 # Uruchomienie przekazywania pakietow echo "1" > /proc/sys/net/ipv4/ip_forward # Czyszczenie tablic iptables (NAT i Filtrowanie) $IPTABLES -F -t nat $IPTABLES -X -t nat $IPTABLES -F -t filter $IPTABLES -X -t filter # Odrzucenie i brak zezwolenia na forwardowanie pakietow $IPTABLES -t filter -P FORWARD DROP # Przepuszczanie pakietow z sieci lub przeznaczone dla sieci $IPTABLES -t filter -A FORWARD -s $SIEC_IP/$SIEC_MASKA -d 0/0 -j ACCEPT $IPTABLES -t filter -A FORWARD -s 0/0 -d $SIEC_IP/$SIEC_MASKA -j ACCEPT # Maskarada $IPTABLES -t nat -A POSTROUTING -s $HOST1 -d 0/0 -j MASQUERADE $IPTABLES -t nat -A POSTROUTING -s $HOST2 -d 0/0 -j MASQUERADE # Moduly do FTP i IRCa /sbin/modprobe ip_nat_ftp /sbin/modprobe ip_nat_irc |
Plik można zapisać w /etc/rc.d/ jako rc.firewall i dać mu prawa chmod +x rc.firewall
Zostaje jeszcze dopisanie go do /etc/rc.d/rc.local, który uruchomi go przy starcie systemu
# Firewall if [ -x /etc/rc.d/rc.firewall ]; then |
Jeszcze tylko restart sieci + odpalenie firewalla lub restart systemu i
DSL hula, admin happy, useria happy, żyć nie umierać ;)