Sieć ma udostępniać internet DSL w przyszłości będzie połączenie z radiolinią lecz do tego na pewno wrócę. Ilości osób obecnie 20.
Kod: Zaznacz cały
# !/bin/sh
# # # # # # # # # # # # # # # # # # # # # # #
# adres serwera naszego komputera
SERWER='192.168.1.1'
# adres IP komputera z którego loguje się admin
ADMIN='192.168.1'
# zakres adresów sieci wewnętrznej i karta obsługująca sieć LAN
WEW_ADRESY='192.168.1.1/24'
WEW_KARTA='eth1'
# adres wyjściowy zewnętrzny i karta je obsługująca
ZEW_ADRESY='0/0'
ZEW_KARTA='eth0'
# usługi TCP które będą przepuszczane
TCP_IN='WWW,ftp,ftp-data,ssh,smtp'
TCP_OUT='WWW,ftp,ftp-data,ssh,irc,smtp'
# usługi UDP, które będą przepuszczane
UDP_IN='443,465,995'
UDP_OUT=' '
# usługi ICMP które chce się przepuszczać
ICMP_IN=' '
ICMP_OUT=' '
# # # # # # # # # # # # # # # # # # # # # # #
# Adresy IP komputerów w sieci które będą miały dostęp do Internetu
#+++++++++++++++++++
#komputer1
IP_USER1='192.168.1.2'
MAC_USER1='00:00:00:00:00:00'
#+++++++++++++++++++
#komputer2
I
# # # # # # # # # # # # # # # # # # # # # # #
# usunięcie poprzednich regul
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -X
iptables - t nat -F
iptables -t nat -X
# Ustawienie polityki działania
iptables - P INPUT DROP
iptables - P OUTPUT ACCEPT
iptables - P FORWARD DROP
# -----------------------------------------------------------------------------------------------
# włączenie forwardowania
echo 1 > /sys/net/ipv4/ip_forward
# wylączenie odpowiedzi na pingi
echo 0 > /sys/net/ipv4/icmp_echo_ignore_all
# Ochrona przed atakiemSmurf
echo 1 > /sys/net/ipv4/icmp_echo_ignore_broadcast
# wlączenie ochorny przed komunikacja ICMP error
echo 1 > /sys/net/ipv4/icmp_bogus_error_responses
# włączenie logowania nieznanych pakietów (spoofed. Source router. Redirects)
echo > /sys/net/ipv4/conf/all/log_martians
# nieakcpetowanie datagramu IP z opcją “source route”
echo 0 > /sys/net/ipv4/conf/accept_source_route
# nie przyjmowanie pakietów ICMP redict
echo 0 > ys/net/ipv4/conf/all/accept_redirects
# wszystkie karty nie przyjmują pakietów z sieci niż te z routingu
echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
# ---------------------------------------------------------------------------------------------
# odblokowanie pętli zwrotnej LOOPBACK
iptables -A INPUT -i lo -j ACCEPT
# zezwolenie na korzystanie z protokołu passive on
iptables -A INPUT -m state - - state ESTABLISHED, RELATED -j ACCEPT
iptables -A OUTPUT -m state - - state ESTABLISHED, RELATED -j ACCEPT
iptables -A FORWARD -m state - - state ESTABLISHED, RELATED -j ACCEPT
iptables -A INPUT -p icmp - -icmp-type echo-replay -j ACCEPT
# zezwolenie dla zewnętrznej sieci na łączenie się z naszymi usługami serwera
iptables -A INPUT -p tcp -s 0/0 - -dport 20:22 -j ACCEPT
iptables -A INPUT -p tcp -s 0/0 - -dport 80 -j ACCEPT
iptables -A INPUT -p udp -s 0/0 - -dport 20:22 -j ACCEPT
iptables -A INPUT -p tcp -s 0/0 - -sport 20:22 -j ACCEPT
iptables -A INPUT -p tcp -s 0/0 - -sport 80 -j ACCEPT
iptables -A INPUT -p udp -s 0/0 - -sport 20:22 -j ACCEPT
iptables -A INPUT -p tcp -s 0/0 - -dport 113 -j ACCEPT
iptables -A INPUT -p udp -s 0/0 - -dport 1025:1100 -j ACCEPT
# odblokowanie uslug na serwerze dla administratora
iptables -A INPUT -p tcp -s $ADMIN -m multiport - - dport $TCP_IN -j ACCEPT
iptables -A INPUT -p udp -s $ADMIN - m multiport - - dport $UDP_IN -j ACCEPT
iptables -A INPUT -p udp -s $ADMIN - -dport 137:139 -j ACCEPT
# udostępnienie dla adresu administratora
iptables -A INPUT -s $ADMIN - j ACCEPT
# dostęp do serwerów nazw DNS
iptables -A INPUT -p tcp -s 0/0 - -sport 53 - d $SERWER -j ACCEPT
iptables -A INPUT -p udp -s 0/0 - -sport 53 -d $SERWER -j ACCEPT
# zabezpieczenie przed atakami typu Land
iptables -A INPUT -i $WEW_KARTA -s $SERWER -j DROP
# pakiety z adresów nierutowalnych z klas A,B,C, multicast I zarezerwowanych
iptables -A INPUT -I $WEW_KARTA -s 10.0.0.0/8 -j DROP
iptables -A INPUT -I $WEW_KARTA -s 172.16.0.0/12 -j DROP
iptables -A INPUT -I $WEW_KARTA -s 192.168.0.0/16 -j DROP
iptables -A INPUT -I $WEW_KARTA -s 224.0.0.0/4 -j DROP
iptables -A INPUT -I $WEW_KARTA -d 224.0.0.0/4 -j DROP
iptables -A INPUT -I $WEW_KARTA -s 240.0.0.0/5 -j DROP
iptables -A INPUT -I $WEW_KARTA -s 127.0.0.0/5 -j DROP
#----------------------------------------------------------------------------------------------------------------
# udostępnienie Internetu sieci lokalnej
#++++++++++++++++++++++++
# komputer 1
iptables -t nat -A POSTROUTING -s $IP_USER1 -j MASQUERADE
iptables -A FORWARD -m mac - - mac-source $MAC_USER1 -j ACCEPT
#--------------------------------------------------------------------------------------------------------
Z góry dziękuję
Pozdrawiam
Bez potrzeby nie korzystamy z dużych czcionek. //Rad