Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witam mam udostępniony internet w sieci i skonfigurowany serwer DHCP, oto konfiguracja :
/etc/network/interfaces
# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet static address 83.19.28.220 netmask 255.255.255.248 gateway 83.19.28.217 network 83.19.28.0 broadcast 83.19.28.255 auto eth1 iface eth1 inet static address 10.0.0.1 netmask 255.0.0.0
/etc/init.d/firewall
# wlaczenie w kernelu forwardowania echo 1 > /proc/sys/net/ipv4/ip_forward # czyszczenie starych regul iptables -F iptables -X iptables -t nat -X iptables -t nat -F iptables -t mangle -F iptables -t mangle -X # ustawienie domyslnej polityki iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT # utrzymanie polaczen nawiazanych iptables -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED iptables -A FORWARD -j ACCEPT -m state --state ESTABLISHED,RELATED iptables -A OUTPUT -j ACCEPT -m state --state ESTABLISHED,RELATED # udostepniaie internetu w sieci lokalnej iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -j MASQUERADE iptables -A FORWARD -s 10.0.0.0/8 -j ACCEPT
/etc/dhcp3/dhcpd.conf
ddns-update-style none; option domain-name-servers 194.204.159.1, 194.204.152.34; default-lease-time 600; max-lease-time 7200; subnet 10.0.0.0 netmask 255.0.0.0 { option subnet-mask 255.0.0.0; option routers 10.0.0.1; option broadcast-address 10.0.0.255; ignore unknown-clients; #Olga host P102_1 { hardware ethernet 00:03:0D:84:30:6A; fixed-address 10.1.2.1; } #Basia host P102_2 { hardware ethernet 00:03:0D:82:82:41; fixed-address 10.1.2.2; } # i tak jeszcze z 10 hostów }
Wszystko pięknie działa, lecz teraz chciałem ustawić tak żeby internet był dostępny dla tych hostów z listy DHCP np.
- jak ktoś się podepnie i wpisze poprawne adresy z palca to zęby nie miał dostępu do internetu.
- jak ktoś jest na liście DHCP i wpisze sobie z palca poprawny adres to żeby nie miał dostępu do internetu .
Proszę o pomoc
Offline
Na przykład tak:
Zamiast:
iptables -A FORWARD -s 10.0.0.0/8 -j ACCEPT
reguły dla hostów:
iptables -A FORWARD -s 10.1.2.2 -m mac --mac-source 00:03:0D:82:82:41 -j ACCEPT
- to dla Basi.
A Basię ode mnie pozdrów i wycałuj bardzo gorąco :D
To by było na tyle
;-)
Ostatnio edytowany przez Jacekalex (2010-10-27 16:20:36)
Offline
mam jeszcze jedno pytanko jak dokonam zmiany w pliku /etc/init.d/firewall a ten plik dodałem do uruchamiania się przy sracie poleceniem "update-rc.d firewall defaults 20"
to będzie uruchamiał się zmieniony firewall czy ten stary ??
Ostatnio edytowany przez Pablik (2010-10-26 20:11:34)
Offline
Po każdej zmianie odpal skrypt, a potem sprawdź przez
sudo iptables -L -n
czy wszystko ustawione jak należy.
Offline
mam ustawione tak :
# wlaczenie w kernelu forwardowania echo 1 > /proc/sys/net/ipv4/ip_forward # czyszczenie starych regul iptables -F iptables -X iptables -t nat -X iptables -t nat -F iptables -t mangle -F iptables -t mangle -X # ustawienie domyslnej polityki iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT # utrzymanie polaczen nawiazanych iptables -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED iptables -I FORWARD -s 10.0.0.3 -m mac --mac-source 00:30:4F:79:9A:03 -j ACCEPT iptables -A OUTPUT -j ACCEPT -m state --state ESTABLISHED,RELATED # udostepniaie internetu w sieci lokalnej iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -j MASQUERADE iptables -A FORWARD -s 10.0.0.0/8 -j ACCEPT
po uruchomieniu tego skryptu /etc/init.d/firewall
i wykonaniu polecenia "iptables -L -n"
Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED Chain FORWARD (policy ACCEPT) target prot opt source destination ACCEPT all -- 10.0.0.3 0.0.0.0/0 MAC 00:30:4F:79:9A:03 ACCEPT all -- 10.0.0.0/8 0.0.0.0/0 Chain OUTPUT (policy ACCEPT) target prot opt source destination ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
dalej puszcza wszystko "ACCEPT all -- 10.0.0.0/8 0.0.0.0/0" coś źle zrobiłem czy trzeba go przewalić ?
Ostatnio edytowany przez Pablik (2010-10-26 21:11:43)
Offline
Amen
skopiuj ten skrypt do
/usr/local/sbin
odpal z palca poleceniem
sudo firewall
i podlinkuj go do folderu /etc/network/if-up.d - np:
ln -s /usr/local/sbin/firewall /etc/network/if-up.d/firewall
Możesz też zrobić w /etc/init.d/firewall, wtedy zostaw tam wpis:
#!/bin/bash exec /usr/local/sbin/firewall exit 0
A poza tym - widzę, że o Linuxie pojęcia nie masz.
Na początek podstawy: http://qref.sourceforge.net/Debian/reference/index.pl.html
Ostatnio edytowany przez Jacekalex (2010-10-26 22:12:20)
Offline
No dodałem te wpisy do /etc/init.d/firewall i co mi to dało ??
#!/bin/bash exec /usr/local/sbin/firewall # wlaczenie w kernelu forwardowania echo 1 > /proc/sys/net/ipv4/ip_forward # czyszczenie starych regul iptables -F iptables -X iptables -t nat -X iptables -t nat -F iptables -t mangle -F iptables -t mangle -X # ustawienie domyslnej polityki iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT # utrzymanie polaczen nawiazanych iptables -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED iptables -A FORWARD -j ACCEPT -m state --state ESTABLISHED,RELATED iptables -A OUTPUT -j ACCEPT -m state --state ESTABLISHED,RELATED # udostepniaie internetu w sieci lokalnej iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -j MASQUERADE iptables -A FORWARD -s 10.0.0.0/8 -j ACCEPT exit 0
Bawiłem się trochę z tym firewall'em i wykombinowałem coś takiego
# wlaczenie w kernelu forwardowania echo 1 > /proc/sys/net/ipv4/ip_forward # czyszczenie starych regul iptables -F iptables -X iptables -t nat -X iptables -t nat -F iptables -t mangle -F iptables -t mangle -X # ustawienie domyslnej polityki iptables -P INPUT ACCEPT #iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT # utrzymanie polaczen nawiazanych iptables -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED #iptables -A FORWARD -j ACCEPT -m state --state ESTABLISHED,RELATED iptables -A OUTPUT -j ACCEPT -m state --state ESTABLISHED,RELATED # udostepniaie internetu w sieci lokalnej iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -j MASQUERADE iptables -I FORWARD -s 10.0.0.3 -m mac --mac-source 00:30:4F:79:9A:03 -j ACCEPT #iptables -A FORWARD -s 10.0.0.0/8 -j ACCEPT
i dla tego firewala niby puszcza neta tylko dla hosta 10.0.0.3 tak ??
Server:/home/pablik# iptables -L -n Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED Chain FORWARD (policy ACCEPT) target prot opt source destination ACCEPT all -- 10.0.0.3 0.0.0.0/0 MAC 00:30:4F:79:9A:03 Chain OUTPUT (policy ACCEPT) target prot opt source destination ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
ale mino tego wszystkie hosty mają internet ;(
Ostatnio edytowany przez Pablik (2010-10-27 19:22:50)
Offline
# ustawienie domyslnej polityki
iptables -P INPUT ACCEPT
#iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
Chain FORWARD (policy ACCEPT)
Reszte chyba sobie sam dopowiesz...
A jakby nie:
iptables -P FORWARD DROP
I odkomentuj: iptables -A FORWARD -j ACCEPT -m state --state ESTABLISHED,RELATED
Offline
ok działa wielkie dzięki za pomoc ;)
Offline
exec /usr/local/sbin/firewall
ta linia w pliku /etc/init.d/firewall - wywołuje skrypt znajdujący się w folderze /usr/local/sbin.
Po niej w /etc/init.d/firewall powinno być tylko exit 0 i NIC WIĘCEJ.
A w /usr/local/sbin tworzysz plik o nazwie firewall, wklejasz tam skrypt do firewalla, nadajesz uprawnienia (chmod 755) i GOTOWE.
Potem, żeby sprawdzić, czy działa - uruchamiasz skrypt poleceniem
sudo -u root firewall
i sprawdzasz, czy zadziałało, czy jest jakiś błąd - wszystko napisze w terminalu po wydaniu komendy.
I napisz może, co robi taki skrypt (swoimi słowami):
#!/bin/bash EXT=eth0 INT1=vboxnet0 INT2=eth1 # dla karty zewnętrznej - internet ADRES=<adres-ip> MASKA=<maska-ip> BRAMA=<brama-adres> export EXT export INT1 export INT2 export ADRES export MASKA export BRAMA echo " Uruchamiam firewalla............................................." echo "# ignorowanie ICMP echo request wysylanych na adres rozgloszeniowy" echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts echo "128" >> /proc/sys/net/ipv4/ip_default_ttl echo "# ochrona przed SYN flood" echo "1" > /proc/sys/net/ipv4/tcp_syncookies echo "# refuse source routed packets" echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route echo "1" > /proc/sys/net/ipv4/conf/all/secure_redirects echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter echo "# logowanie pakietow z nieprawidlowych adresow " echo "0"> /proc/sys/net/ipv4/conf/all/log_martians echo "1" > /proc/sys/net/ipv4/ip_forward echo "# Konfigurowanie zapory..................................................." echo "# Czyszczenie tablic......................................................" iptables -F iptables -X iptables -t nat -X iptables -t nat -F iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT iptables -I OUTPUT -j ACCEPT iptables -I INPUT -i lo -d 127.0.0.0/8 -j ACCEPT iptables -A OUTPUT -o lo -s 127.0.0.0/8 -j ACCEPT iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -p udp -f -i $EXT -j DROP iptables -I INPUT -s 192.168.56.0/24 -i vboxnet0 -j ACCEPT iptables -A INPUT -p udp -i $EXT -m state --state NEW -j REJECT --reject-with icmp-host-unreachable iptables -A INPUT -p tcp -i $EXT -m state --state NEW -j REJECT --reject-with tcp-reset iptables -A INPUT -p udp -i $INT1 -m state --state NEW -j REJECT --reject-with icmp-host-unreachable iptables -A INPUT -p tcp -i $INT1 -m state --state NEW -j REJECT --reject-with tcp-reset iptables -A INPUT -p udp -i $INT2 -m state --state NEW -j REJECT --reject-with icmp-host-unreachable iptables -A INPUT -p tcp -i $INT2 -m state --state NEW -j REJECT --reject-with tcp-reset echo "# Konfiguracja reguł gotowa.................................................." echo "# Konfiguracja Sieci.................................................." echo 'nameserver 127.0.0.1' >/etc/resolv.conf echo 'nameserver 208.67.220.220' >>/etc/resolv.conf echo 'nameserver 208.67.222.222' >>/etc/resolv.conf echo 'nameserver 8.8.8.8' >>/etc/resolv.conf echo 'nameserver 8.8.4.4' >>/etc/resolv.conf ifconfig $EXT down ifconfig $INT1 down ifconfig $INT2 down ifconfig $EXT hw ether 00:19:d1:ed:40:ee ifconfig $INT1 hw ether 00:59:d1:ed:40:ee ifconfig $INT2 hw ether 00:69:d1:ed:40:ee ifconfig $EXT $ADRES netmask $MASKA ifconfig $EXT up route add default gw $BRAMA $EXT ifconfig $INT1 192.168.1.1 netmask 255.255.255.0 ifconfig $INT2 192.168.2.1 netmask 255.255.255.0 route add --net 192.168.56.0/24 netmask 255.255.255.0 dev $INT1 route add --net 192.168.1.0/24 netmask 255.255.255.0 dev $INT2 ifconfig $INT1 up ifconfig $INT2 up iptables -t nat -A POSTROUTING -o $EXT -s 192.168.0.0/16 -j MASQUERADE iptables -t nat -A POSTROUTING -o $EXT -s 192.168.56.0/24 -j MASQUERADE iptables -A FORWARD -s 192.168.0.0/16 -j ACCEPT iptables -A FORWARD -s 192.168.56.0/24 -j ACCEPT echo "# Konfiguracja Sieci Gotowa"
To by było na tyle
;-)
Ostatnio edytowany przez Jacekalex (2010-10-27 20:11:58)
Offline