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, ostatnio naszła mnie nieodparta chęć postawienia działającego firewalla. Oparłem się na how-to - http://www.debian.one.pl/howto/iptables/iptables2-pl.html
Tak więc mam skrypcik w bashu
#!/bin/bash # zmień tą nazwę na interfejs, jaki łączy Ciebie z Internetem "uplink" UPLINK="eth1" # Jeśli ta maszyna jest ruterem ( i powinna przesyłać pakiety pomiędzy interfejsami ) powinieneś powiedzieć ROUTER="yes" w innym wypadku "no" ROUTER="yes" # zmień tą linie na statyczny adres IP z twojego interfejsu; dla statycznego SNAT # "dynamic" jeśli masz dynamiczny IP. Albo jeśli nie potrzebujesz NAT zmień na "" żeby wyłączyć NAT'a NAT="1.2.3.4" # Zmień następną linię tak, żeby ująć wszystkie interfejsy sieciowe włączając lo INTERFACES="lo eth0 eth1" # zmień poniższa linię tak, żeby były wymienione wszystkie numery albo symbole ( z /etc/services) wszystkich serwisów, które chcesz udostępnić # dla internautów. Jeśli nie chcesz żadnych serwisów wyłącz je przez "" SERVICES="http ftp smtp ssh rsync" if [ "$1" = "start" ]; then echo "Startowanie Firewall..." iptables -P INPUT DROP iptables -A INPUT -i ! ${UPLINK} -j ACCEPT iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT #dopuszcza internautów do wybranych serwisów for x in ${SERVICES} do iptables -A INPUT -p tcp --dport ${x} -m state --state NEW -j ACCEPT done iptables -A INPUT -p tcp -i ${UPLINK} -j REJECT --reject-with tcp-reset iptables -A INPUT -p udp -i ${UPLINK} -j REJECT --reject-with icmp-port-unreachable #wyłączenie ECN if [ -e /proc/sys/net/ipv4/tcp_ecn ]; then echo 0 > /proc/sys/net/ipv4/tcp_ecn fi #wyłączenie spoofowania na wszystkich interfejsach for x in ${INTERFACES} do echo 1 > /proc/sys/net/ipv4/conf/${x}/rp_filter done if [ "$ROUTER" = "yes" ]; then #jeśli jesteśmy ruterem, włącz IP forwarding echo 1 > /proc/sys/net/ipv4/ip_forward if [ "$NAT" = "dynamic" ]; then #Dynamiczny IP, użycie maskarady echo "Włączenie maskarady (dynamiczny ip)..." iptables -t nat -A POSTROUTING -o ${UPLINK} -j MASQUERADE elif [ "$NAT" != "" ]; then #statyczny IP używa SNAT echo "Włączenie SNAT (statyczny IP)..." iptables -t nat -A POSTROUTING -o ${UPLINK} -j SNAT --to ${UPIP} fi fi elif [ "$1" = "stop" ]; then echo "Zatrzymanie Firewalla..." iptables -F INPUT iptables -P INPUT ACCEPT #wyłączenie NAT/maskarady jeśli jest iptables -t nat -F POSTROUTING fi
zapisany, prawa wykonalności nadane
chmod +x /etc/init.d/firewall
i właśnie, jak sprawdzić czy firewall działa (odpala) - chciałbym by ruszał przy starcie systemu.
Jeszcze jedna sprawa, gdy odpalam skrypt recznie wywala mi coś takiego
Startowanie Firewall... Using intrapositioned negation (`--option ! this`) is deprecated in favor of extrapositioned (`! --option this`).
Offline
i właśnie, jak sprawdzić czy firewall działa (odpala) - chciałbym by ruszał przy starcie systemu.
zobacz, czy na podłączonych do niego komputerach jest internet
Offline
internet jest pytanie czy sam proces się uruchomił, wydaje polecenie
ps -aux
ale nie moge znaleźć go na liście... chyba że robie to źle... szczerze to średnio wiem jak sprawdzić które deamony są uruchomione
Offline
ten skrypt nie uruchamia procesu, tylko wykonuje kolejne komendy w konsoli
Offline
no ok. pytanie wieć jak sprawdzić czy skrypt wykonał polecenia przy starcie systemu ?
Offline
iptables -n -L
lub samo
iptables -L
i sprawdzić czy polityki w systemie zgadzają się z tymi ustawionymi w skrypcie
Offline
i się zgadza... dzięki za pomoc
Offline