Nigdy nie używałem iptables, a dokumentacja online wydaje się nieco niejasna.
Chciałbym zablokować wszystkie żądania do portu 8000 na moim serwerze z wyjątkiem tych pochodzących z określonego adresu IP. Jak to zrobić używając iptables?
Nigdy nie używałem iptables, a dokumentacja online wydaje się nieco niejasna.
Chciałbym zablokować wszystkie żądania do portu 8000 na moim serwerze z wyjątkiem tych pochodzących z określonego adresu IP. Jak to zrobić używając iptables?
Odpowiedzi:
To pytanie powinno dotyczyć błędu serwera . Niemniej jednak poniższe czynności powinny załatwić sprawę, zakładając, że mówisz o TCP, a adres IP, na który chcesz zezwolić, to 1.2.3.4:
iptables -A INPUT -p tcp --dport 8000 -s 1.2.3.4 -j ACCEPT
iptables -A INPUT -p tcp --dport 8000 -j DROP
Inną alternatywą jest;
sudo iptables -A INPUT -p tcp --dport 8000 -s ! 1.2.3.4 -j DROP
Miałem podobny problem, że wirtualna maszyna z mostkiem 3 po prostu potrzebuje dostępu do siebie z inną kombinacją, więc przetestowałem to polecenie i działa dobrze.
Edytować**
Zgodnie z komentarzem Fernando i ten link wykrzyknik (
!) zostanie umieszczony przed-sparametrem niż :
sudo iptables -A INPUT -p tcp --dport 8000 ! -s 1.2.3.4 -j DROP
!) musi teraz zostać umieszczony przed -sparametrem: sudo iptables -A INPUT -p tcp --dport 8000 -s ! 1.2.3.4 -j DROP.
Zawsze możesz użyć iptables, aby usunąć reguły. Jeśli masz wiele reguł, po prostu wyślij je za pomocą następującego polecenia.
iptables-save > myfile
viedytować je z wiersza komend. Po prostu użyj „dd”, aby usunąć linie, których już nie potrzebujesz.
iptables-restore < myfile and you're good to go.
PAMIĘTAJ, ŻE JEŚLI NIE SKONFIGURUJESZ SWOJEGO SYSTEMU OPERACYJNEGO, ABY ZAPISAĆ REGULAMIN W PLIKU, A NASTĘPNIE ZAŁADUJ PLIK PODCZAS URUCHAMIANIA, TWOJE REGUŁY ZOSTANĄ UTRACONE.
iptables-restore < myfile// wiki.debian.org/iptables