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.
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
To zmieni Twój system w nieistniejący system dla niedozwolonych komputerów.
źródło
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.
źródło
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.
źródło
Możesz także użyć ferma, którego używam również przez ostatni rok i bardzo mi pomógł w takich przypadkach, jak reguły warunkowej zapory ogniowej.
źródło