|
konfiguracja iptables - odcięcie dostępu
Zw1d - 13-09-2009 03:04
Witam. Planowałem sam uporać się z tym problemem, ale poległem. Mianowicie: usiłuję skonfigurować mój skrypt o nazwie firewall z regułami iptables, tak, by dostęp do internetu mieli tylko użytkownicy dopisani przeze mnie (docelowo MAC i IP). Konfig zamieszczony poniżej to cała zawartość tego pliku.
Topologia mojej sieci w skrócie: [internet] --- [Ruter] --- [eth0 SERWER eth1] --- [192.168.1.2]
Chodzi głównie o sekcję:
iptables -I INPUT -s 192.168.1.2 -j ACCEPT iptables -I FORWARD -s 192.168.1.2 -j ACCEPT
iptables -A INPUT -j DROP iptables -A FORWARD -j DROP
192.168.1.2 jest adresem komputera, któremu chcę przydzielić dostęp do internetu. W powyższej konfiguracji ping do onetu, lub chociaż do (Rutera) nie działa. W momencie zmiany ostatniej linii na ,,ACCEPT'' wszystko działa normalnie (dla wszystkich). #!/bin/bash #przekierowanie pakietow IP: echo "1" > /proc/sys/net/ipv4/ip_forward ######### # START # #########
iptables -F iptables -t nat -F iptables -t mangle -F
#polityka domyślna #iptables -P INPUT DROP # dopisalem drop na koncu #iptables -P FORWARD DROP # dopisalem drop na koncu
iptables -I INPUT -s 192.168.1.2 -j ACCEPT iptables -I FORWARD -s 192.168.1.2 -j ACCEPT
iptables -A INPUT -j DROP iptables -A FORWARD -j DROP
#### NA RAZIE SMIECI ### #iptables -A INPUT -m mac --mac-source 00:1c:a4:70:fe:ab -j ACCEPT #iptables -A FORWARD -m mac --mac-source 00:1c:a4:70:fe:ab -j ACCEPT #iptables -A INPUT -s 192.168.1.8 -j ACCEPT ##############
################### ##PRZEKIER. PORTOW## ###################
# Pulpit zdalny #iptables -t nat -I PREROUTING 1 --protocol tcp --destination-port 3389 -j DNAT$ # FTP #iptables -A INPUT --protocol tcp --destination-port 21 -j ACCEPT # SSH iptables -A INPUT --protocol tcp --destination-port 22 -j ACCEPT # WWW #iptables -A INPUT --protocol tcp --destination-port 80 -j ACCEPT # GaduGadu #iptables -A INPUT --protocol tcp --source-port 8074 -j ACCEPT
# FTP, HTTP, SSH iptables -A INPUT --protocol tcp --source-port 22 -j ACCEPT # DNS iptables -A INPUT --protocol udp --source-port 53 -j ACCEPT
########### # INTERNET # ########### iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
Proszę o jakieś rozwiązanie lub wytknięcie błędu.
mariaczi - 13-09-2009 13:12
#!/bin/bash #przekierowanie pakietow IP: echo "1" > /proc/sys/net/ipv4/ip_forward ######### # START # #########
iptables -F iptables -t nat -F iptables -t mangle -F
#polityka domyślna #iptables -P INPUT DROP # dopisalem drop na koncu #iptables -P FORWARD DROP # dopisalem drop na koncu
Powyższe linie zmianiały politykę domyślną na DROP, tzn. co nie było jawnie przepuszczone jest zabronione.
iptables -I INPUT -s 192.168.1.2 -j ACCEPT iptables -I FORWARD -s 192.168.1.2 -j ACCEPT
Dopisałbym jeszcze iptables -I FORWARD -d 192.168.1.2 -j ACCEPT
iptables -A INPUT -j DROP iptables -A FORWARD -j DROP
#### NA RAZIE SMIECI ### #iptables -A INPUT -m mac --mac-source 00:1c:a4:70:fe:ab -j ACCEPT #iptables -A FORWARD -m mac --mac-source 00:1c:a4:70:fe:ab -j ACCEPT #iptables -A INPUT -s 192.168.1.8 -j ACCEPT ##############
################### ##PRZEKIER. PORTOW## ###################
# Pulpit zdalny #iptables -t nat -I PREROUTING 1 --protocol tcp --destination-port 3389 -j DNAT$ # FTP #iptables -A INPUT --protocol tcp --destination-port 21 -j ACCEPT # SSH iptables -A INPUT --protocol tcp --destination-port 22 -j ACCEPT # WWW #iptables -A INPUT --protocol tcp --destination-port 80 -j ACCEPT # GaduGadu #iptables -A INPUT --protocol tcp --source-port 8074 -j ACCEPT
# FTP, HTTP, SSH iptables -A INPUT --protocol tcp --source-port 22 -j ACCEPT # DNS iptables -A INPUT --protocol udp --source-port 53 -j ACCEPT
########### # INTERNET # ########### iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
Proszę o jakieś rozwiązanie lub wytknięcie błędu.
Nie ma konieczności ani potrzeby korzystania z MASQUERADE jeśli masz stałe IP dla WAN.
Zw1d - 13-09-2009 16:56
Niestety to nie pomogło. Kombinuję dalej.
[Dodano: 2009-09-13, 18:35] Zmieniłem konfig, ale problem nie został rozwiązany, natomiast opiszę jak zachował się serwer w przypadku dwóch konfiguracji: KONF1 i KONF2 (uruchamiane oczywiście naprzemiennie).
Gdy ustawiona była opcja KONF1 (domyślna konfiguracja akceptuje wszystko, odłączony zostaje jeden klient o ip 192.168.1.8): 1. Ping do serwera nie działał 2. Ping do onet.pl nie działał
Gdy ustawiona była opcja KONF2 (domyślna konfiguracja odrzuca wszystko, "podłączony" zostaje jeden klient o ip 192.168.1.8): 1. Ping do serwera działał 2. Ping do onet.pl nie działał.
Gdy zostaje usunięta część dot. odłączania/dołączania klienta: 1. Ping do serwera działa. 2. Ping do onet.pl działa.
#!/bin/bash #przekierowanie pakietow IP: echo "1" > /proc/sys/net/ipv4/tcp_syncookies echo "1" > /proc/sys/net/ipv4/ip_forward ######### # START # #########
iptables -F iptables -F -t nat iptables -X -t nat iptables -F -t mangle iptables -X -t mangle iptables -F -t filter iptables -X -t filter
############### # DOSTĂP DO SSH # ############### iptables -I INPUT -p tcp --dport 22 -j ACCEPT
########### # DOMYÂŚLNIE # ###########
### KONF1 ### iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT ### KONIEC KONF1 ###
### KONF2 ### #iptables -P INPUT DROP #iptables -P FORWARD DROP #iptables -P OUTPUT ACCEPT ### KONIEC KONF2 ###
############# # RUCH RUTERA # ############# iptables -A INPUT -i lo -j ACCEPT
############################## # POÂŁÂĄCZENIA NAWIÂĄZANE/POWIÂĄZANE # ############################## iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
################################ # INDYWIDUALNY DOSTĂP UÂŻYTKOWNIKÓW # ################################
### KONF1 ### iptables -A INPUT -s 192.168.1.8 -j DROP iptables -A FORWARD -s 192.168.1.8 -j DROP ### KONIEC KONF1 ###
### KONF2 ### #iptables -A INPUT -s 192.168.1.8 -j ACCEPT #iptables -A FORWARD -s 192.168.1.8 -j ACCEPT ### KONIEC KONF2 ###
# Najważniejsze - udostępnienie sieci dla wybranych podsieci iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
zanotowane.pldoc.pisz.plpdf.pisz.plminister.pev.pl
|