Chcę zatrzymać Internet w moim systemie za pomocą iptables, więc co powinienem zrobić?
iptables -A INPUT -p tcp --sport 80 -j DROP
lub
iptables -A INPUT -p tcp --dport 80 -j DROP
?
Rzeczywistość polega na tym, że zadajesz 2 różne pytania.
--sport
jest skrótem od --source-port
--dport
jest skrótem od --destination-port
także internet to nie tylko HTTP
protokół, który zwykle działa na porcie 80. Podejrzewam, że pytasz, jak blokować żądania HTTP. aby to zrobić, musisz zablokować 80 w łańcuchu połączeń wychodzących.
iptables -A OUTPUT -p tcp --dport 80 -j DROP
zablokuje wszystkie wychodzące żądania HTTP, przechodząc do portu 80, więc nie będzie to blokować SSL, 8080 (alt http) ani żadnych innych dziwnych portów, aby robić takie rzeczy, których potrzebujesz filtrowanie L7 z dużo głębszą kontrolą pakietów.
Aby rozszerzyć odpowiedź na @xenoterracide Możesz przeczytać więcej o iptables na stronie iptables(8)
(typ man 8 iptables
), ale tam nie znajdziesz --dport
ani --sport
. Opcje te są wymienione w iptables-extensions(8)
sekcji multiport, tcp, udp i gdzie indziej. To może być dla ciebie interesujące.
Aby „zatrzymać Internet w twoim systemie”, prawdopodobnie możesz po prostu wyłączyć interfejs sieciowy za pomocą sudo ifdown <INTERNET FACING INTERFACE>
lub sudo ip link set <INTERNET FACING INTERFACE> down
na przykład sudo ip link set eth0 down
. Aby to zrobić na stałe, musisz zajrzeć do / etc / network / interfaces (Ubuntu, Debian ...) lub / etc / sysconfig / network-scripts / ifcfg- (na RHEL, SLES, CentOS, Oracle Linux, Fedora ...) lub konfiguracja menedżera sieci lub cokolwiek innego, czego używasz. To oczywiście przerwie wszelkie połączenia do lub z „Internetu”, nawet te nie oparte na HTTP i zapobiegnie niewielkiemu pogorszeniu wydajności przy użyciu iptables
i przetwarzaniu ruchu warstwy OSI / ISO 2.