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-s
parametrem niż :
sudo iptables -A INPUT -p tcp --dport 8000 ! -s 1.2.3.4 -j DROP
!
) musi teraz zostać umieszczony przed -s
parametrem: 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
vi
edytować 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