Mở port trên linux

Mình có một máy chủ CentOS 7, trên máy chủ cài dịch vụ Apache Web Server và lắng nghe trên cổng 80. Nhưng khi cài đặt xong thì không thể truy cập được cổng 80 thông qua domain và địa chỉ IP của máy chủ. [Áp dụng được cả với CentOS 8]

Nguyên nhân là do tường lửa [Firewall] trên CentOS 7/8 mặc định block port 80 trên server. Vì vậy nhiệm vụ của chúng ta là mở port trên server để có thể truy cập tới dịch vụ Web.

Mở cổng [port] trên CentOS 7/8

Tưởng lửa trên CentOS 7/8 giờ được quản lý bằng công cụ firewall-cmd, nên để mở port sử dụng command sau với quyền của tài khoản root.

– Kiểm tra zone nào của tường lửa đang được active

firewall-cmd --get-active-zones

– Mở cổng [VD: 80] trên zone đang active [Public Zone]

firewall-cmd --zone=public --add-port=80/tcp --permanent

– Sau đó để luật mới có hiệu lực cần reload lại tường lửa bằng command sau:

firewall-cmd --reload

Để kiểm tra việc mở port đã thành công hay chưa, truy cập trực tiếp bằng domain hoặc địa chỉ IP của Server để xem máy chủ web đã hoạt động chưa.

Mở cổng trên CentOS 7/8 chỉ cho IP nhất định.

Với cách trên ai cũng có thể truy cập tới server của bạn, nhưng nếu bạn muốn tăng cường bảo mật thì bạn có thể chỉ cần thiết lập cho 1 địa chỉ IP hoặc 1 dải IP nhất định được phép truy cập.

firewall-cmd --permanent --zone=public --add-rich-rule='
  rule family="ipv4"
  source address="1.2.3.4/32"
  port protocol="tcp" port="80" accept'

Hoặc sửa trực tiếp file config của firewall ở địa chỉ: /etc/firewalld/zones/public.xml


  Public
  For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.
  
  
  
    
    
    
  
  
    
    
    
  

Và nhớ là phải reload lại firewall để áp dụng luật mới

firewall-cmd --reload

Để mở cổng cho Windows Server, các bạn vui lòng tham khảo bài viết này: Hướng dẫn mở cổng [open port] trên Windows Server

Nguồn: vinasupport.com

Kiểm tra và mở port VPS trên CentOS

Nếu bạn muốn mở hoặc đóng port cho VPS thì phải chỉnh sửa file cấu hình của iptables. Mặc định thì file này có đường dẫn là /etc/sysconfig/iptables

Để sử dụng sâu hơn, các bạn tham khảo bài viết : Hướng dẫn sử dụng Iptables
Đối với CentOS 7, các bạn tham khảo Thiết lập tường lửa FirewallD

Ví dụ để mở port xxx, bạn hãy thực hiện lệnh sau:

iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport xxx -j ACCEPT

Sau đó lưu lại cấu hình và khởi động lại iptables

service iptables save
service iptables restart

Đóng port VPS

Để đóng port bất kỳ, bạn chỉnh sửa trực tiếp file /etc/sysconfig/iptables, comment những dòng có port cần đóng.

nano /etc/sysconfig/iptables

Sau đó lưu lại cấu hình và khởi động lại iptables

service iptables save
service iptables restart

Kiểm tra lại port đang mở

Danh sách toàn bộ port đang mở:

iptables -L -n

Kiểm tra port đang được dùng bởi service nào:

netstat -anp | grep 80

hoặc

lsof -i | grep 80

Bài Viết Liên Quan

Chủ Đề