Mam kilka zakresów IP, z którymi chcę, aby mój serwer mógł się łączyć, a użytkownicy mogli się łączyć. Cała reszta powinna zostać zablokowana.
Jak mam to zrobić za pomocą iptables?
Mój system operacyjny to dystrybucja linuksowa oparta na Debianie.
Mam kilka zakresów IP, z którymi chcę, aby mój serwer mógł się łączyć, a użytkownicy mogli się łączyć. Cała reszta powinna zostać zablokowana.
Jak mam to zrobić za pomocą iptables?
Mój system operacyjny to dystrybucja linuksowa oparta na Debianie.
Odpowiedzi:
Sugeruję złapanie narzędzia do konfiguracji zapory ogniowej, takiego Firestarter , i stamtąd. Oto kilka podstawowych informacji dla Ciebie.
#Flush existing rules
iptables -F
# Set up default DROP rule for eth0
iptables -P INPUT DROP
# Allow existing connections to continue
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
# Accept everything from the 192.168.1.x network
iptables -A INPUT -i eth0 -s 192.168.1.0/24 -j ACCEPT
# Allow connections from this host to 192.168.2.10
iptables -A OUTPUT -o eth0 -d 192.168.2.10 -j ACCEPT
Jeśli chcesz zezwolić na dowolne zakresy, a nie na całe podsieci, możesz użyć modułu iptables „iprange”:
iptables -P INPUT DROP
iptables -A INPUT -m iprange --src-range 192.168.1.30-50 -j ACCEPT
na przykład zezwoli na ruch przychodzący ze wszystkich komputerów o adresach między 192.168.1.30 a 192.168.1.50.
Jeśli chcesz zezwolić na ruch przychodzący i wychodzący do tego samego zakresu adresów IP, sugeruję utworzenie specjalnego łańcucha, który zezwala na te adresy IP i kieruje do niego wszystkie wejściowe i wyjściowe elementy docelowe:
- zdefiniuj domyślne zasady, aby porzucić:
iptables -P INPUT DROP
iptables -P OUTPUT DROP
- utwórz nowy łańcuch:
iptables -N allowed_ips
- jeśli źródło znajduje się w dozwolonym zakresie, zaakceptuj
iptables -A allowed_ips -m iprange --src-range 192.168.1.30-50 -j ACCEPT
- jeśli nie, wróć do łańcucha rozmówców, aby kontynuować przetwarzanie
iptables -A allowed_ips -j RETURN
- spraw, aby cały ruch wchodzący i wychodzący z maszyny przechodził przez nasz nowy łańcuch
iptables -A INPUT -j allowed_ips
iptables -A OUTPUT -j allowed_ips
i to wszystko! oczywiście mogą być potrzebne dodatkowe reguły, takie jak takie, które zezwalają na cały ruch z / do interfejsu lo itp.
Gdy będziesz zadowolony ze swoich zasad, prawdopodobnie chcesz je zapisać . Komentarze w tym linku mają kilka opcji, jak to zrobić.
Łatwy w użyciu generator reguł iptables dla prostych potrzeb to ufw . Pakiet jest dostępny w wersji niestabilnej Debiana.
Spróbuj także Firestarter . Dostępne w Lenny.