Jak otworzyć porty w systemie Linux na NSIS
Zapora sieciowa to oprogramowanie lub oprogramowanie układowe, które egzekwuje zestaw reguł dotyczących tego, jakie pakiety danych będą mogły wchodzić lub wychodzić z sieci. Jest on odpowiedzialny za zarządzanie regułami Allow i Deny dla portów.
W tym artykule wyjaśnimy polecenia otwierające porty w dwóch dystrybucjach Linux, Ubuntu i CentOS. Obie dystrybucje pozwalają na konfigurację z różnymi zestawami narzędzi (pakiety firewalli), ale z tymi samymi wynikami.
Narzędzia, których będziemy używać:
UFW
Firewalld
Ubuntu
Ta dystrybucja zawiera domyślnie preinstalowaną usługę UFW (Uncomplicated Firewall). Upraszcza ona całą konfigurację i jest przyjazna dla każdego użytkownika.
W pierwszym kroku należy wykonać polecenie instalacji narzędzia ufw:
$ sudo apt install ufw
Sprawdź status usługi za pomocą standardowego polecenia systemctl:
$ sudo systemctl status ufw
Włącz UFW za pomocą polecenia enable:
$ sudo ufw enable
Składnia otwierająca określony port TCP:
$ sudo ufw allow (port)/tcp
Na przykład:
$ sudo ufw allow 53/tcp
Składnia obsługuje również nazwy, które odnoszą się do określonych portów:
$ sudo ufw allow https
Aby zezwolić na przychodzące pakiety tcp i udp na porcie 21, wprowadź polecenie:
$ sudo ufw allow 21
Przykład dla określonego adresu IP:
$ sudo ufw allow from 190.34.21.113 to any port
Sprawdźmy konfigurację:
$ sudo ufw status verbose
Polecenie wyświetla tymczasową tabelę z trzema kolumnami:
Objaśnienie:
- To
Opisuje konkretny protokół
- Action
Informuje, czy ruch jest dozwolony, czy odrzucany.
- From
Określa źródla ruchu, na przykład dowolne lub jeden adres IP, jak przedstawiono powyżej
CentOS
Firewalld jest bardziej zaawansowanym narzędziem, które w swojej konfiguracji wykorzystuje strefy. Są one odpowiedzialne za opiekę nad pewnym obszarem lub jednym „dołączonym” interfejsem sieciowym.
Firewalld jest kontrolerem frontendowym dla iptables używanym do implementacji trwałych reguł ruchu sieciowego.
Przyjrzyjmy się kilku poleceniom, które są dostępne w pakiecie firewalld.
Wykonaj polecenie firewalld:
$ sudo yum install firewalld
Uruchom usługę za pomocą standardowego polecenia systemctl:
$ sudo systemctl start firewalld
Włącz ją:
$ sudo systemctl enable firewalld
Poniższe polecenie informuje o stanie usługi. Może ono wyświetlić tylko dwa wyniki: „running” or „no running”:
$ sudo firewall-cmd --state
Domyślną strefą jest strefa publiczna. W tym krótkim samouczku nie będziemy jej zmieniać, ale jeśli chcesz, użyj tego polecenia:
$ sudo firewall-cmd --set-default-zone=work
Spróbujmy dodać ruch tcp na porcie 1112:
$ sudo firewall-cmd --zone=public --add-port=1112/tcp --permanent
Aby załadować ponownie ustawienia i natychmiast zastosować te zmiany, należy ponownie załadować stan firewalld.
$ sudo firewall-cmd --reload
Można uzyskać czytelny przegląd nowej reguły za pomocą polecenia listing:
Aby zezwolić na połączenie ssh na określonym Ipv4, należy użyć składni z „bogatą regułą”:
$ sudo firewall-cmd --zone=public --add-rich-rule 'rule family="ipv4" source address="192.168.13.44" port port=22 protocol=tcp accept'
Firewalld jest domyślnym pakietem dla CentOS do zarządzania ruchem przychodzącym i wychodzącym. Jeśli UFW wydaje się lepszy, możesz zainstalować również ten pakiet.