Hướng dẫn cấu hình và khắc phục sự cố chuyển tiếp cổng Port Forwarding trên USG/UDM

Với UniFi Network, bạn có thể chuyển tiếp các cổng UDP và TCP tới một thiết bị LAN nội bộ bằng cách sử dụng tính năng Port Forwarding trên các thiết bị Dream Machine (UDM và UDM Pro) và USG. Bài viết này sẽ hướng dẫn mọi người chi tiết cách cấu hình Port Forwarding trên USG/UDM cũng như cách khắc phục một số sự cố phổ biến xảy ra khi thực hiện cấu hình tính năng này.

Hướng dẫn cấu hình và khắc phục sự cố chuyển tiếp cổng Port Forwarding trên USG/UDM

Lưu ý:

  • Áp dụng cho Firmware mới nhất trên tất cả các kiểu máy UDM và USG.
  • Tính năng Port Forwarding được thiết kế chỉ hoạt động trên WAN1 trên các USG, nhưng nó có thể sử dụng cả WAN1 và WAN2 trên UDM-Pro.
  • Cần phải cấu hình thủ công các quy tắc tường lửa Destination NAT (DNAT) + WAN để chuyển tiếp các cổng trên giao diện WAN2 trên các USG.

Câu hỏi thường gặp (FAQ)

Cần phải tạo quy tắc tường lửa cho Port Forwarding theo cách thủ công không?

Các quy tắc tường lửa được tạo tự động để cho phép các cổng được chuyển tiếp đến các thiết bị mạng LAN nội bộ. Do đó, bạn không cần thiết phải thêm các quy tắc tường lửa cho các cổng được chuyển tiếp theo cách thủ công.

Có thể chuyển tiếp các cổng trên giao diện WAN2 của UDM/USG không?

Bạn có thể sử dụng tính năng Port Forwarding trên giao diện WAN2 của UDM-Pro. Điều hướng đến Settings > Advanced Features > Advanced Gateway Settings và tạo quy tắc port forwarding mới hoặc sửa đổi quy tắc hiện có.

Sau đó, bạn có thể chọn giao diện WAN là WAN1, WAN2 hoặc cả hai. Tuy nhiên, mô hình UDM cơ sở chỉ có một cổng WAN duy nhất.

Trên các mô hình USG, bạn cần phải cấu hình thủ công quy tắc tường lửa Destination NAT (DNAT) + WAN để chuyển tiếp các cổng trên giao diện WAN2

Tính năng Port Forwarding tương tác với UPnP như thế nào?

Các mục nhập tự động do UPnP tạo sẽ được ưu tiên hơn các quy tắc Port Forwarding được tạo thủ công.

Có cần định cấu hình NAT Hairpin theo cách thủ công không?

Hairpin NAT sẽ được bật tự động khi định cấu hình tính năng Port Forwarding.

Ngoại trừ trường hợp khi định cấu hình Destination NAT (DNAT) theo cách thủ công trên cổng WAN2 của USG, bạn sẽ cần phải định cấu hình thủ công mục nhập Hairpin NAT cho quy tắc DNAT này.

Có thể giới hạn thiết bị từ xa sử dụng các cổng chuyển tiếp không?

Bạn có thể thực hiện thao tác này bằng cách sử dụng tùy chọn from khi tạo hoặc sửa đổi quy tắc Port Forwarding. Tùy chọn mặc định là cho phép tất cả các máy khách từ xa sử dụng cổng chuyển tiếp.

Định cấu hình quy tắc chuyển tiếp cổng – Port Forwarding

1. Điều hướng đến Settings > Advanced Features > Advanced Gateway Settings và tạo port forwarding mới.

2. Điền thông tin vào các cài đặt:

  • Name: webserver
  • Enable Forward Rule: bật tính năng này khi bạn sẵn sàng kích hoạt quy tắc này
  • Interface: WAN / WAN2 / Cả hai (chỉ UDM Pro)
  • From: Anywhere or Limited
  • Port: 443
  • Forward IP: 192.168.1.10
  • Forward Port: 443
  • Protocol: TCP
  • Logging: Không bắt buộc

Lưu ý:

  • From: Các máy khách trên Internet được phép sử dụng quy tắc Port Forwarding. Bạn có thể đặt cài đặt này thành Anywhere theo mặc định, nghĩa là cho phép tất cả các máy chủ. Bạn cũng có thể giới hạn các máy chủ được cho phép bằng cách chỉ định địa chỉ IP (ví dụ 198.51.100.1) hoặc dải mạng con (ví dụ 198.51.100.0/24).
  • Port: Cổng WAN mà máy khách trên Internet kết nối với nó, ví dụ 443. Cổng này không cần phải khớp với cổng được sử dụng trên máy chủ LAN nội bộ. Ví dụ: bạn có thể chuyển tiếp cổng TCP 10443 sang cổng TCP 443.
  • Forward IP: Địa chỉ IP được sử dụng bởi máy chủ mạng LAN nội bộ, ví dụ: 192.168.1.10.
  • Forward Port: Cổng được sử dụng bởi máy chủ mạng LAN nội bộ, ví dụ: cổng TCP 443.

Hướng dẫn cấu hình và khắc phục sự cố chuyển tiếp cổng Port Forwarding trên USG/UDM

3. Áp dụng các thay đổi.

Lưu ý: Trên các mô hình USG, cần phải cấu hình thủ công quy tắc tường lửa Destination NAT (DNAT) + WAN để chuyển tiếp các cổng trên giao diện WAN2.

4. Các quy tắc tường lửa cần thiết cho quy tắc Port Forwarding mới mà bạn đã tạo sẽ tự động được thêm vào.

5. Bạn có thể xác minh các quy tắc được tạo tự động trong Settings > Security > Internet Threat Management > Firewall > Internet

Hướng dẫn cấu hình và khắc phục sự cố chuyển tiếp cổng Port Forwarding trên USG/UDM

USG / USG-Pro: Cổng chuyển tiếp trên WAN2 sử dụng NAT đích

CHÚ Ý: Đây là cấu hình nâng cao yêu cầu tạo và sửa đổi tệp config.gateway.json. 

Hãy làm theo các bước bên dưới để chuyển tiếp các cổng trên giao diện WAN2 của các kiểu máy USG. Bạn cần tạo thủ công quy tắc Destination NAT (DNAT) bằng Giao diện dòng lệnh (CLI) và quy tắc tường lửa tùy chỉnh bằng ứng dụng UniFi Network. Sau đó, tệp config.gateway.json cần được tạo hoặc cập nhật để kết hợp cấu hình tùy chỉnh vào UniFi Network.

1. Bắt đầu bằng cách tạo quy tắc tường lửa tùy chỉnh mới trong phần Settings > Security > Internet Threat Management > Firewall > Internet.

2. Tạo một nhóm cổng tường lửa mới bằng cách nhấp vào Create New Group.

Hướng dẫn cấu hình và khắc phục sự cố chuyển tiếp cổng Port Forwarding trên USG/UDM

3. Điền thông tin và chỉ định cổng cần được cho phép thông qua tường lửa (trong ví dụ này là cổng 443) và áp dụng các thay đổi.

  • Name: https
  • Type: Port Group 
  • Port: 443

Hướng dẫn cấu hình và khắc phục sự cố chuyển tiếp cổng Port Forwarding trên USG/UDM

4. Điều hướng đến Settings > Security > Internet Threat Management > Firewall> Internet create new rule.

5. Điền thông tin, chọn Port Group đã tạo trước đó và áp dụng các thay đổi.

  • General
    • Type: Internet In
    • Description: webserver
    • Enabled: được bật khi sẵn sàng đưa quy tắc này vào hoạt động
    • Rule Applied: After (sau các quy tắc được xác định trước)
    • Action: Accept
    • IPv4 Protocol: TCP
    • Match all protocols except for this: disabled
  • Source: Không bắt buộc
  • Destination
    • Destination Type: Address/Port Group
    • IPv4 Address Group: Any
    • Port Group: https (chọn từ bất kỳ nhóm cổng tường lửa nào đã tạo trước đó)
  • Advanced: Không bắt buộc

Hướng dẫn cấu hình và khắc phục sự cố chuyển tiếp cổng Port Forwarding trên USG/UDM

6. Bước tiếp theo là truy cập USG bằng giao diện dòng lệnh (CLI) và thêm quy tắc Destination NAT (DNAT) tùy chỉnh. Quyền truy cập SSH vào thiết bị của bạn phải được bật trong Settings > System Settings > Controller Configuration > Device SSH Authentication.

7. Kết nối với USG qua SSH.

a) SSH bằng Windows

7.1. Tải xuống PuTTY và mở tệp putty.exe.

7.2. Điền vào các cài đặt bên dưới và chọn Open.

Host Name (or IP address): IP of USG/USG-Pro (for example 192.168.1.1)

Port: 22

Connection type: SSH

7.3. Chấp nhận cảnh báo bảo mật SSH nếu xuất hiện cảnh báo nhắc nhở.

7.4. Đăng nhập bằng SSH Username và Mật khẩu SSH từ ứng dụng UniFi Network:

Username: <ssh-username>

Password: <ssh-password>

b) Kết nối SSH bằng macOS

7.1. Mở Thiết bị đầu cuối của macOS bằng cách tìm kiếm Terminal trong Launcherhoặc bằng cách điều hướng đến phần Finder > Applications > Utilities.

7.2. Sử dụng lệnh ssh và chỉ định UniFi Network SSH Username, theo sau là ký hiệu @ và địa chỉ IP của USG/USG-Pro.

ssh <username>@<ip-address>

Ví dụ: để kết nối với USG/USG-Pro đang sử dụng địa chỉ IP 192.168.1.1 mặc định và tên người dùng unifiadmin, hãy chạy:

ssh unifiadmin@192.168.1.1

LƯU Ý: Xem bài viết Cách thiết lập kết nối bằng SSH để biết thêm thông tin về cách kết nối với USG bằng SSH.

7.3. Chấp nhận cảnh báo bảo mật SSH (nếu có).

7.4. Nhập mật khẩu SSH để đăng nhập:

Username: <ssh-username>

Password: <ssh-password>

8. Xác minh rằng giao diện WAN2 là UP và nó được gán địa chỉ IP bằng cách chạy lệnh sau:

show interfaces ; sudo ipset list ADDRv4_eth2

unifiadmin@usg:~$ show interfaces 

Codes: S – State, L – Link, u – Up, D – Down, A – Admin Down

Interface    IP Address                        S/L  Description                 

———    ———-                        —  ———–                 

eth0         203.0.113.1/24                    u/u  WAN                         

eth1         192.168.1.1/24                    u/u  LAN                         

eth2         192.0.2.1/24                      u/u  WAN2                           

lo           127.0.0.1/8                       u/u                              

             ::1/128                         

unifiadmin@usg:~$ sudo ipset list ADDRv4_eth2

Name: ADDRv4_eth2

Type: hash:net

Revision: 3

Header: family inet hashsize 1024 maxelem 65536

Size in memory: 16792

References: 1

Members:

192.0.2.1

LƯU Ý: ADDRv4_eth2 là một nhóm địa chỉ đặc biệt tự động sử dụng địa chỉ IP được gán cho giao diện eth2. Trên USG-Pro, giao diện WAN2 sử dụng eth3 thay thế và do đó nhóm địa chỉ sẽ là ADDRv4_eth3.

9. Vào chế độ cấu hình bằng cách gõ config và nhấn enter.

10. Thêm quy tắc NAT đích cho giao diện WAN2 của USG / USG-Pro (thay thế eth2 bằng eth3 cho USG-Pro):

set service nat rule 4001 description ‘webserver’

set service nat rule 4001 destination group address-group ADDRv4_eth2

set service nat rule 4001 destination port 443

set service nat rule 4001 inbound-interface eth2

set service nat rule 4001 inside-address address 192.168.1.10

set service nat rule 4001 inside-address port 443

set service nat rule 4001 protocol tcp

set service nat rule 4001 type destination

11. Cam kết các thay đổi và thoát trở lại chế độ operational bằng cách gõ commit ; exit và nhấn enter.

Đây là một ví dụ về quy trình:

  1. Sử dụng lệnh mca-ctrl -t dump-cfg để hiển thị toàn bộ cấu hình ở định dạng JSON:

mca-ctrl -t dump-cfg

  1. Phần Destination NAT của cấu hình ở định dạng JSON có thể được sử dụng trong tệp config.gateway.json.

{

       “service”: {

                “nat”: {

                        “rule”: {

                                “4001”: {

                                        “description”: “webserver”,

                                        “destination”: {

                                                “group”: {

                                                       “address-group”: “ADDRv4_eth2”

                                                },

                                                “port”: “443”

                                        },

                                        “inbound-interface”: “eth2”,

                                        “inside-address”: {

                                                “address”: “192.168.1.10”,

                                                “port”: “443”

                                        },

                                        “protocol”: “tcp”,

                                        “type”: “destination”

                                }

                        }

                }

       }

}

Khắc phục các sự cố Port Forwarding

Nếu quy tắc Chuyển tiếp cổng hoặc NAT đích tùy chỉnh không hoạt động, bạn có thể tham khảo các bước khắc phục sự cố bên dưới. Một trong các tùy chọn sau có thể là nguyên nhân:

Nguyên nhân 1 – USG/UDM nằm sau NAT và không có địa chỉ public IP.

Trong trường hợp này, UDM/USG nằm sau một router/modem khác sử dụng NAT. Dấu hiệu của thiết lập này là thiết bị đang sử dụng địa chỉ private IP (RFC1918) hoặc CGNAT (RFC6598) trên giao diện WAN1 hoặc WAN2. UDM/USG của bạn nằm sau NAT nếu nó đang sử dụng địa chỉ IP trên giao diện WAN nằm trong một trong các phạm vi bên dưới:

  • 10.0.0.0/8 10.0.0.0 – 10.255.255.255
  • 172.16.0.0/12 172.16.0.0 – 172.31.255.255
  • 192.168.x.0/24 192.168.0.0 – 192.168.255.255
  • 100.64.0.0/10 100.64.0.0 – 100.127.255.255

Để khắc phục sự cố này, bạn hãy thử định cấu hình lại modem/router ISP ở chế độ bắc cầu (bridged mode) để UDM/USG có thể sử dụng địa chỉ public IP trên giao diện WAN. Nếu nó không được hỗ trợ, trước tiên bạn cần phải chuyển tiếp các cổng trên router/modem ngược dòng tới địa chỉ WAN của UDM/USG. Tùy thuộc vào ISP của bạn, các cổng này sẽ cần được chuyển tiếp theo cách thủ công hoặc có tùy chọn DMZ cho phép bạn tự động chuyển tiếp các cổng.

Nguyên nhân 2 – UDM / USG đã chuyển tiếp cổng sang thiết bị khác hoặc đã bật UPnP.

Trong trường hợp này, UDM/USG đã có một quy tắc Port Forwarding hiện có và nó đang chuyển tiếp cổng đến một thiết bị khác. Cùng một cổng WAN (ví dụ: cổng TCP 443) chỉ có thể được chuyển tiếp đến một thiết bị duy nhất, tuy nhiên bạn có thể chuyển tiếp nhiều cổng WAN khác nhau đến cùng một cổng trên mạng LAN (ví dụ: cổng TCP 10443 đến 443 và cổng TCP 8443 đến 443) .

Một nguyên nhân khác có thể là do UPnP đã được bật và đang sử dụng cổng. Bạn hãy thử tắt tùy chọn UPnP trong phần Settings > Gateway > UPnP của giao diện người dùng Web UI mới (New Web UI) hoặc phần Settings > Services > UPnP của giao diện người dùng Web UI kinh điển (Classic Web UI)..

Nguyên nhân 3 – Lưu lượng Internet từ các máy khách không đến được giao diện WAN của UDM/USG.

Trong trường hợp này, lưu lượng truy cập bị chặn ngược dòng tại modem/router ISP hoặc đang có sự cố ảnh hưởng đến thiết bị khách.

Bạn có thể xác minh xem lưu lượng có đến được hay không bằng cách truy cập UDM/USG bằng SSH và chạy gói tin bắt được và xử lý tcpdump (tcpdump packet capture) trên giao diện WAN1 hoặc WAN2. 

Sau khi đăng nhập bằng SSH, hãy chạy lệnh sau để nắm bắt lưu lượng. Lệnh này sẽ in traffic output trực tiếp ra màn hình khi máy khách cố gắng truy cập vào cổng (bạn có thể hủy bằng phím tắt CTRL + C).

UDM-Pro WAN1 (eth8) và WAN2 (eth9)

# tcpdump -n -i eth8 tcp port 443

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on eth8, link-type EN10MB (Ethernet), capture size 262144 bytes

IP 198.51.100.1.1609 > 203.0.113.1.443: Flags [S], seq 1979002112, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0

IP 203.0.113.1.443 > 198.51.100.1.1609: Flags [S.], seq 2749614086, ack 1979002113, win 65535, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0

IP 198.51.100.1.1609 > 203.0.113.1.443: Flags [.], ack 1, win 256, length 0

IP 198.51.100.1.1609 > 203.0.113.1.443: Flags [F.], seq 1, ack 1, win 256, length 0

IP 203.0.113.1.443 > 198.51.100.1.1609: Flags [.], ack 2, win 1026, length 0

IP 203.0.113.1.443 > 198.51.100.1.1609: Flags [F.], seq 1, ack 2, win 1026, length 0

IP 198.51.100.1.1609 > 203.0.113.1.443: Flags [.], ack 2, win 256, length 0g

 

# tcpdump -n -i eth9 tcp port 443

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on eth9, link-type EN10MB (Ethernet), capture size 262144 bytes

IP 198.51.100.1.1679 > 192.0.2.1.443: Flags [S], seq 987770491, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0

IP 192.0.2.1.443 > 198.51.100.1.1679: Flags [S.], seq 4189175926, ack 987770492, win 65535, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0

IP 198.51.100.1.1679 > 192.0.2.1.443: Flags [.], ack 1, win 256, length 0

IP 198.51.100.1.1679 > 192.0.2.1.443: Flags [F.], seq 1, ack 1, win 256, length 0

IP 192.0.2.1.443 > 198.51.100.1.1679: Flags [.], ack 2, win 1026, length 0

IP 192.0.2.1.443 > 198.51.100.1.1679: Flags [F.], seq 1, ack 2, win 1026, length 0

IP 198.51.100.1.1679 > 192.0.2.1.443: Flags [.], ack 2, win 256, length 0

UDM WAN (eth4)

# tcpdump -n -i eth4 tcp port 443

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on eth8, link-type EN10MB (Ethernet), capture size 262144 bytes

IP 198.51.100.1.1609 > 203.0.113.1.443: Flags [S], seq 1979002112, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0

IP 203.0.113.1.443 > 198.51.100.1.1609: Flags [S.], seq 2749614086, ack 1979002113, win 65535, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0

IP 198.51.100.1.1609 > 203.0.113.1.443: Flags [.], ack 1, win 256, length 0

IP 198.51.100.1.1609 > 203.0.113.1.443: Flags [F.], seq 1, ack 1, win 256, length 0

IP 203.0.113.1.443 > 198.51.100.1.1609: Flags [.], ack 2, win 1026, length 0

IP 203.0.113.1.443 > 198.51.100.1.1609: Flags [F.], seq 1, ack 2, win 1026, length 0

IP 198.51.100.1.1609 > 203.0.113.1.443: Flags [.], ack 2, win 256, length 0g

USG WAN1 (eth0) và WAN2 (eth2)

unifiadmin@usg:~$ sudo tcpdump -n -i eth0 tcp port 443

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on eth8, link-type EN10MB (Ethernet), capture size 262144 bytes

IP 198.51.100.1.1609 > 203.0.113.1.443: Flags [S], seq 1979002112, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0

IP 203.0.113.1.443 > 198.51.100.1.1609: Flags [S.], seq 2749614086, ack 1979002113, win 65535, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0

IP 198.51.100.1.1609 > 203.0.113.1.443: Flags [.], ack 1, win 256, length 0

IP 198.51.100.1.1609 > 203.0.113.1.443: Flags [F.], seq 1, ack 1, win 256, length 0

IP 203.0.113.1.443 > 198.51.100.1.1609: Flags [.], ack 2, win 1026, length 0

IP 203.0.113.1.443 > 198.51.100.1.1609: Flags [F.], seq 1, ack 2, win 1026, length 0

IP 198.51.100.1.1609 > 203.0.113.1.443: Flags [.], ack 2, win 256, length 0g

 

unifiadmin@usg:~$ sudo tcpdump -n -i eth2 tcp port 443

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on eth2, link-type EN10MB (Ethernet), capture size 262144 bytes

IP 198.51.100.1.1562 > 192.0.2.1.443: Flags [S], seq 3731603662, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0

IP 192.0.2.1.443 > 198.51.100.1.1562: Flags [S.], seq 67104030, ack 3731603663, win 65535, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0

IP 198.51.100.1.1562 > 192.0.2.1.443: Flags [.], ack 1, win 256, length 0

IP 198.51.100.1.1562 > 192.0.2.1.443: Flags [F.], seq 1, ack 1, win 256, length 0

IP 192.0.2.1.443 > 198.51.100.1.1562: Flags [.], ack 2, win 1026, length 0

IP 192.0.2.1.443 > 198.51.100.1.1562: Flags [F.], seq 1, ack 2, win 1026, length 0

USG-Pro WAN (eth2) và WAN2 (eth3)

unifiadmin@usg-pro:~$ sudo tcpdump -n -i eth2 tcp port 443

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on eth8, link-type EN10MB (Ethernet), capture size 262144 bytes

IP 198.51.100.1.1609 > 203.0.113.1.443: Flags [S], seq 1979002112, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0

IP 203.0.113.1.443 > 198.51.100.1.1609: Flags [S.], seq 2749614086, ack 1979002113, win 65535, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0

IP 198.51.100.1.1609 > 203.0.113.1.443: Flags [.], ack 1, win 256, length 0

IP 198.51.100.1.1609 > 203.0.113.1.443: Flags [F.], seq 1, ack 1, win 256, length 0

IP 203.0.113.1.443 > 198.51.100.1.1609: Flags [.], ack 2, win 1026, length 0

IP 203.0.113.1.443 > 198.51.100.1.1609: Flags [F.], seq 1, ack 2, win 1026, length 0

IP 198.51.100.1.1609 > 203.0.113.1.443: Flags [.], ack 2, win 256, length 0g

unifiadmin@usg-pro:~$ sudo tcpdump -n -i eth3 tcp port 443

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on eth2, link-type EN10MB (Ethernet), capture size 262144 bytes

IP 198.51.100.1.1562 > 192.0.2.1.443: Flags [S], seq 3731603662, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0

IP 192.0.2.1.443 > 198.51.100.1.1562: Flags [S.], seq 67104030, ack 3731603663, win 65535, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0

IP 198.51.100.1.1562 > 192.0.2.1.443: Flags [.], ack 1, win 256, length 0

IP 198.51.100.1.1562 > 192.0.2.1.443: Flags [F.], seq 1, ack 1, win 256, length 0

IP 192.0.2.1.443 > 198.51.100.1.1562: Flags [.], ack 2, win 1026, length 0

IP 192.0.2.1.443 > 198.51.100.1.1562: Flags [F.], seq 1, ack 2, win 1026, length 0

Bạn có thể sửa đổi các lệnh tcpdump được liệt kê ở trên để phù hợp với các lệnh được sử dụng bởi quy tắc Port Forwarding hoặc Destination NAT của bạn. Ví dụ: để khớp trên cổng UDP 10001 trên giao diện eth8 và máy chủ LAN nội bộ 192.168.1.50, hãy sử dụng:

sudo tcpdump -n -i eth8 udp port 10001 and host 192.168.1.50

Nếu quá trình packet capture không hiển thị bất kỳ lưu lượng nào, thì các yêu cầu sẽ không đến UDM/USG và có thể được lọc ngược dòng ở đâu đó. Bạn có thể thử sử dụng một cổng khác để xác minh xem cổng có bị chặn hay không. Một lý do khác có thể giải thích tại sao lưu lượng khách không đến là UDM/USG nằm sau NAT. 

Nguyên nhân 4 – Máy chủ lưu trữ mạng LAN không cho phép cổng thông đi qua tường lửa cục bộ hoặc không được định cấu hình đúng tuyến.

Trong trường hợp này, host/server trên mạng LAN không cho phép các kết nối bên ngoài truy cập vào cổng. Ví dụ: Web Server được sử dụng trong ví dụ này sẽ cần cho phép kết nối đến cổng TCP 443.

Trên máy tính Windows, bạn hãy xác minh các quy tắc tường lửa của Windows. Trên Linux, bạn cũng cần xác minh xem kết nối có được cho phép trong tường lửa iptables hay không.

Ngoài ra, bạn có thể xác minh xem lưu lượng có đến hay không bằng cách truy cập UDM/USG bằng SSH và chạy gói tin packet capture tcpdump trên giao diện WAN1 hoặc WAN2. 

Sau khi đăng nhập bằng SSH, bạn hãy tiến hành chạy lệnh sau để nắm bắt lưu lượng trên giao diện LAN của UDM/USG. Lệnh này sẽ in lưu lượng đầu ra trực tiếp ra màn hình khi cổng được chuyển tiếp đến máy chủ mạng LAN nội bộ (bạn có thể hủy bằng phím tắt CTRL + C).

UDM/UDM-Pro LAN (br0)

# tcpdump -n -i br0 tcp port 443 and host 192.168.1.10

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on br0, link-type EN10MB (Ethernet), capture size 262144 bytes

IP 198.51.100.1.1611 > 192.168.1.10.443: Flags [S], seq 3590991252, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0

IP 192.168.1.10.443 > 198.51.100.1.1611: Flags [S.], seq 3853666586, ack 3590991253, win 65535, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0

IP 198.51.100.1.1611 > 192.168.1.10.443: Flags [.], ack 1, win 256, length 0

IP 198.51.100.1.1611 > 192.168.1.10.443: Flags [F.], seq 1, ack 1, win 256, length 0

IP 192.168.1.10.443 > 198.51.100.1.1611: Flags [.], ack 2, win 1026, length 0

IP 192.168.1.10.443 > 198.51.100.1.1611: Flags [F.], seq 1, ack 2, win 1026, length 0

IP 198.51.100.1.1611 > 192.168.1.10.443: Flags [.], ack 2, win 256, length 0

USG LAN (eth1)

unifiadmin@usg:~$ sudo tcpdump -n -i eth1 tcp port 443 and host 192.168.1.10

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on eth1, link-type EN10MB (Ethernet), capture size 262144 bytes

IP 198.51.100.1.1611 > 192.168.1.10.443: Flags [S], seq 3590991252, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0

IP 192.168.1.10.443 > 198.51.100.1.1611: Flags [S.], seq 3853666586, ack 3590991253, win 65535, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0

IP 198.51.100.1.1611 > 192.168.1.10.443: Flags [.], ack 1, win 256, length 0

IP 198.51.100.1.1611 > 192.168.1.10.443: Flags [F.], seq 1, ack 1, win 256, length 0

IP 192.168.1.10.443 > 198.51.100.1.1611: Flags [.], ack 2, win 1026, length 0

IP 192.168.1.10.443 > 198.51.100.1.1611: Flags [F.], seq 1, ack 2, win 1026, length 0

IP 198.51.100.1.1611 > 192.168.1.10.443: Flags [.], ack 2, win 256, length 0

USG-Pro LAN1 (eth0) và LAN2 (eth1)

unifiadmin@usg-pro:~$ sudo tcpdump -n -i eth0 tcp port 443 and host 192.168.1.10

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes

IP 198.51.100.1.1611 > 192.168.1.10.443: Flags [S], seq 3590991252, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0

IP 192.168.1.10.443 > 198.51.100.1.1611: Flags [S.], seq 3853666586, ack 3590991253, win 65535, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0

IP 198.51.100.1.1611 > 192.168.1.10.443: Flags [.], ack 1, win 256, length 0

IP 198.51.100.1.1611 > 192.168.1.10.443: Flags [F.], seq 1, ack 1, win 256, length 0

IP 192.168.1.10.443 > 198.51.100.1.1611: Flags [.], ack 2, win 1026, length 0

IP 192.168.1.10.443 > 198.51.100.1.1611: Flags [F.], seq 1, ack 2, win 1026, length 0

IP 198.51.100.1.1611 > 192.168.1.10.443: Flags [.], ack 2, win 256, length 0

 

unifiadmin@usg-pro:~$ sudo tcpdump -n -i eth1 tcp port 443 and host 192.168.1.10

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on eth1, link-type EN10MB (Ethernet), capture size 262144 bytes

IP 198.51.100.1.1611 > 192.168.1.10.443: Flags [S], seq 3590991252, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0

IP 192.168.1.10.443 > 198.51.100.1.1611: Flags [S.], seq 3853666586, ack 3590991253, win 65535, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0

IP 198.51.100.1.1611 > 192.168.1.10.443: Flags [.], ack 1, win 256, length 0

IP 198.51.100.1.1611 > 192.168.1.10.443: Flags [F.], seq 1, ack 1, win 256, length 0

IP 192.168.1.10.443 > 198.51.100.1.1611: Flags [.], ack 2, win 1026, length 0

IP 192.168.1.10.443 > 198.51.100.1.1611: Flags [F.], seq 1, ack 2, win 1026, length 0

IP 198.51.100.1.1611 > 192.168.1.10.443: Flags [.], ack 2, win 256, length 0

Bạn có thể sửa đổi các lệnh tcpdump này được liệt kê ở trên để phù hợp với các lệnh được sử dụng bởi quy tắc Chuyển tiếp cổng hoặc NAT đích của bạn. Ví dụ: để khớp trên cổng UDP 10001 trên giao diện br0 và máy chủ LAN nội bộ 192.168.1.50, hãy sử dụng lệnh như bên dưới:

sudo tcpdump -n -i br0 udp port 10001 and host 192.168.1.50

Nếu bạn chỉ thấy lưu lượng truyền theo một hướng, ví dụ: 198.51.100.1.1611> 192.168.1.10.443 lặp đi lặp lại thì máy chủ LAN nội bộ không thể phản hồi lưu lượng. Có hai nguyên nhân có khả năng giải thích tại sao điều này xảy ra:

  • Tường lửa trên máy chủ mạng LAN nội bộ đang chặn lưu lượng
  • Máy chủ lưu trữ mạng LAN nội bộ (LAN host) không biết cách truy cập địa chỉ IP của máy khách Internet. Điều này sẽ xảy ra nếu cổng mặc định không được đặt một cách đúng đắn.

Lúc này bạn hãy xác minh tường lửa và cài đặt định tuyến trên máy chủ mạng LAN nội bộ để giải quyết vấn đề này.

Kết luận

Vừa rồi là những hướng dẫn cấu hình Port Forwarding trên USG/UDM và thống kê cách xử lý các sự cố xảy ra khi thực hiện Port Forwarding. Hy vọng bài viết sẽ hữu ích đối với người dùng UniFi. Mọi thắc mắc, bạn có thể liên hệ hỗ trợ qua

Fanpage: FPT – Thiết Bị Mạng

Hỗ Trợ Kỹ Thuật: 028-7300-2222

Số máy lẻ (Ext): 89777 Hoặc 8654