FortiGate IPsec VPN tunnel up nhưng không ping được LAN remote: kiểm tra từ đâu?
FortiGate IPsec VPN tunnel up nhưng không ping được LAN remote: kiểm tra từ đâu?
VPN tunnel đã up, Phase 1 / Phase 2 nhìn có vẻ ổn nhưng LAN bên này vẫn không ping được LAN bên kia? Bài viết này hướng dẫn cách kiểm tra từ Phase 2 Selector, route, firewall policy, NAT, route ngược đến debug flow.
Khi triển khai IPsec VPN site-to-site trên FortiGate, một lỗi rất thường gặp là VPN tunnel đã up, nhưng máy LAN bên A vẫn không ping được LAN bên B.
Đây là lỗi dễ gây nhầm lẫn, vì nhiều người thấy tunnel “up” là nghĩ VPN đã chạy xong. Thực tế, tunnel up chỉ chứng minh IPsec đã thiết lập. Nó chưa chứng minh traffic LAN-to-LAN đã đi đúng.
Tình huống thường gặp
- Tunnel IPsec đã up nhưng máy LAN không ping được LAN remote.
- FortiGate ping được remote IP nhưng máy client không ping được.
- Máy bên A ping được bên B, nhưng bên B không ping ngược lại được.
- Phase 2 up nhưng không có traffic.
- Ping không được nhưng một số service khác lại chạy.
- Sau khi thêm subnet mới vào VPN, subnet mới không chạy.
Bản chất vấn đề
Tunnel up chỉ là một phần của bài toán. Để traffic LAN-to-LAN chạy được, cần đồng thời đúng Phase 2 Selector, route, firewall policy, NAT và route ngược phía peer.
Vì vậy, khi không ping được LAN remote, cần kiểm tra từng lớp thay vì chỉ nhìn trạng thái tunnel trong GUI.
Luồng kiểm tra khi tunnel up nhưng không ping được LAN remote
Trước khi chỉnh cấu hình, nên đi theo luồng kiểm tra dưới đây để tránh sửa sai hướng.
Kiểm tra tunnel thật sự up chưa
Xác nhận Phase 1 / Phase 2 đã lên đúng tunnel và đúng selector.
Kiểm tra Phase 2 Selector
Đảm bảo local subnet và remote subnet khớp ở cả hai đầu.
Kiểm tra route
FortiGate phải có route hợp lệ đến LAN remote qua tunnel.
Kiểm tra firewall policy
Traffic LAN ↔ VPN phải được policy cho phép đúng chiều.
Kiểm tra NAT và route ngược
Tránh NAT sai và đảm bảo peer biết đường trả về LAN local.
Dùng debug flow
Xác định packet bị drop trước tunnel, trong tunnel, phía remote hay đường về.
1. Tunnel up không có nghĩa traffic LAN đã thông
Trong IPsec VPN, trạng thái tunnel up thường cho biết hai thiết bị đã thương lượng được IPsec tunnel. Nhưng để traffic LAN-to-LAN chạy được, cần thêm nhiều điều kiện khác.
Selector đúng
Traffic phải nằm trong Phase 2 Selector của hai đầu.
Route đúng
FortiGate phải biết remote subnet đi qua tunnel nào.
Policy đúng
Firewall policy phải cho phép traffic LAN-to-VPN và ngược lại.
Đường về đúng
Peer remote phải có route trả về subnet local.
Điểm cần nhớ
Có thể tunnel up, Phase 2 up, nhưng packet từ LAN local không đi vào tunnel, hoặc đi vào tunnel nhưng không có reply, hoặc reply quay về sai đường.
2. Kiểm tra tunnel IPsec đã up đúng chưa
Trước tiên, cần xác nhận tunnel thật sự đã lên, không chỉ nhìn GUI.
diagnose vpn tunnel listHoặc kiểm tra summary:
get vpn ipsec tunnel summaryCần kiểm tra:
- Phase 1 đã established chưa?
- Phase 2 đã up chưa?
- Tên tunnel có đúng tunnel đang cần kiểm tra không?
- Có nhiều Phase 2 Selector không?
- Selector nào đang up, selector nào down?
- Có traffic encrypt/decrypt không?
- Tunnel có bị flush/rekey liên tục không?
3. Kiểm tra Phase 2 Selector
Phase 2 Selector xác định traffic nào được phép đi vào tunnel. Nếu selector sai, tunnel vẫn có thể up nhưng traffic LAN-to-LAN không chạy đúng.
Local subnet
Ví dụ: 192.168.10.0/24
Remote subnet
Ví dụ: 192.168.20.0/24
Các lỗi thường gặp:
- Local subnet khai báo sai.
- Remote subnet khai báo sai.
- Một bên dùng
/24, bên kia dùng/25. - Thêm subnet mới vào policy nhưng quên thêm vào Phase 2.
- Một đầu để
any-any, đầu kia để subnet cụ thể. - NAT làm source IP thay đổi khiến traffic không còn match selector.
Lưu ý
Nếu đang NAT qua VPN, cần đảm bảo IP sau NAT nằm trong Phase 2 Selector. Nếu không, traffic có thể không match IPsec selector và không đi tunnel đúng.
4. Kiểm tra static route đến remote subnet
FortiGate cần có route để biết traffic đi đến LAN remote phải ra tunnel nào. Ví dụ remote subnet là 192.168.20.0/24, FortiGate local cần route đến subnet này qua VPN tunnel.
get router info routing-table details 192.168.20.60Hoặc xem toàn bộ routing table:
get router info routing-table allCần kiểm tra:
- Có route đến remote subnet không?
- Route đang đi qua đúng VPN tunnel chưa?
- Có route nào cụ thể hơn đang ưu tiên không?
- Có policy route ép traffic đi hướng khác không?
- Nếu VPN nằm trong SD-WAN, route có đi qua đúng SD-WAN Zone không?
- Có default route làm traffic đi nhầm ra Internet không?
5. Kiểm tra firewall policy LAN đi VPN
Tunnel và route đúng vẫn chưa đủ. FortiGate cần firewall policy cho phép traffic đi từ LAN local sang VPN.
| Incoming Interface | LAN hoặc VLAN local |
| Outgoing Interface | VPN tunnel hoặc VPN SD-WAN Zone |
| Source | Local LAN subnet |
| Destination | Remote LAN subnet |
| Service | ICMP hoặc service cần dùng |
| NAT | Disable trong đa số mô hình site-to-site |
6. Kiểm tra firewall policy chiều VPN về LAN
VPN site-to-site thường cần policy hai chiều nếu cả hai bên đều chủ động truy cập qua lại.
| Incoming Interface | VPN tunnel hoặc VPN SD-WAN Zone |
| Outgoing Interface | LAN hoặc VLAN local |
| Source | Remote LAN subnet |
| Destination | Local LAN subnet |
| Service | Service cần dùng |
| NAT | Disable |
Nếu thiếu policy chiều ngược, có thể xảy ra tình trạng:
- LAN local ping qua remote được.
- Remote không truy cập ngược về local được.
- Một số traffic chỉ chạy một chiều.
- Log thấy packet đến FortiGate nhưng bị deny.
7. Kiểm tra NAT có bật nhầm trong policy VPN không
Đây là lỗi rất phổ biến. Với VPN site-to-site thông thường, policy LAN-to-VPN thường không bật NAT. Hai bên cần nhìn thấy IP LAN thật của nhau để route trả về đúng.
Nếu bật NAT nhầm
- Client local có thể bị đổi source thành IP interface hoặc IP pool khác.
- Remote site không có route trả về IP sau NAT.
- Traffic có thể không match Phase 2 Selector.
- Kết quả là tunnel up nhưng không truy cập được.
Khi nào NAT qua VPN có thể cần dùng?
NAT qua VPN có thể cần trong các mô hình overlap subnet, che giấu IP nội bộ, hoặc kết nối đến bên thứ ba yêu cầu IP NAT cụ thể. Nếu không có yêu cầu đặc biệt, nên tắt NAT trong policy VPN site-to-site.
8. Kiểm tra route ngược phía remote
Traffic VPN cần có đường đi và đường về. Một lỗi cực kỳ phổ biến là chỉ kiểm tra phía local mà quên phía remote.
Ví dụ
- Site A LAN:
192.168.10.0/24 - Site B LAN:
192.168.20.0/24 - Site A có route đến
192.168.20.0/24. - Nhưng Site B không có route về
192.168.10.0/24.
9. Kiểm tra subnet overlap
Nếu hai bên dùng trùng subnet, VPN site-to-site sẽ gặp lỗi rất khó xử lý nếu không NAT.
Ví dụ overlap subnet
- Site A LAN:
192.168.1.0/24 - Site B LAN:
192.168.1.0/24
Khi client ở Site A muốn truy cập 192.168.1.50, FortiGate có thể hiểu đây là IP local, không phải IP bên remote. Traffic sẽ không đi vào VPN đúng cách.
Cách xử lý:
- Đổi subnet một bên nếu có thể.
- Nếu không đổi được, thiết kế NAT qua VPN.
- Dùng IP pool hoặc mapped subnet rõ ràng.
- Cập nhật Phase 2 Selector theo IP sau NAT.
- Kiểm tra route và policy sau NAT.
10. Kiểm tra server/client có chặn ICMP không
Không ping được không phải lúc nào cũng nghĩa là VPN lỗi.
Windows Firewall
Server hoặc PC remote có thể chặn ICMP mặc định.
Default gateway sai
Server remote không trả về đúng firewall/VPN gateway.
ACL nội bộ
Switch/router nội bộ phía remote có thể chặn subnet local.
Service vẫn chạy
Ping fail nhưng RDP/HTTP/SMB vẫn có thể hoạt động nếu ICMP bị chặn.
11. Kiểm tra FortiGate tự ping remote bằng source IP nào
Ping từ FortiGate không giống ping từ máy LAN. Khi FortiGate tự ping remote IP, đây là self-originating traffic. FortiGate có thể dùng source IP của một interface nào đó, không phải IP LAN user.
Cách test ping với source IP cụ thể:
execute ping-options source <source_ip> execute ping <remote_ip>Ví dụ:
execute ping-options source 192.168.10.1 execute ping 192.168.20.1Sau khi test xong:
execute ping-options resetLưu ý
Source IP nên thuộc local subnet trong Phase 2 Selector. Không nên kết luận VPN lỗi chỉ vì FortiGate ping fail mà chưa kiểm tra source IP.
12. Kiểm tra SD-WAN Rule hoặc policy route nếu VPN nằm trong SD-WAN
Nếu IPsec VPN được đưa vào SD-WAN, cần kiểm tra thêm:
- VPN tunnel có nằm đúng SD-WAN Zone không?
- Route đến remote subnet có đi qua VPN Zone không?
- SD-WAN Rule cho remote subnet có đặt trên rule Internet không?
- Performance SLA của tunnel có up không?
- Traffic có bị match nhầm rule Internet all-to-all không?
- Policy route cũ có ép traffic đi WAN khác không?
diagnose sys sdwan service diagnose firewall proute list diagnose sys sdwan health-check13. Dùng debug flow để xác định packet bị drop ở đâu
Khi kiểm tra GUI không ra nguyên nhân, nên dùng diagnose debug flow. Ví dụ client local là 192.168.10.50, remote server là 192.168.20.60.
diagnose debug reset diagnose debug flow filter clear diagnose debug flow filter saddr 192.168.10.50 diagnose debug flow filter daddr 192.168.20.60 diagnose debug flow show function-name enable diagnose debug console timestamp enable diagnose debug flow trace start 100 diagnose debug enableSau khi test xong, tắt debug:
diagnose debug disable diagnose debug resetCần đọc các điểm chính:
- Packet có vào FortiGate không?
- Match policy ID nào?
- Có bị deny by policy không?
- Có route đến remote không?
- Outgoing interface là tunnel VPN hay interface khác?
- Có NAT không?
- Có reply quay về không?
14. Các lệnh CLI hữu ích khi tunnel up nhưng không ping được
Kiểm tra tunnel IPsec
diagnose vpn tunnel list get vpn ipsec tunnel summaryKiểm tra Phase 1, Phase 2, selector, encrypt/decrypt traffic.
Kiểm tra route đến remote IP
get router info routing-table details <remote_ip>Xem traffic đến remote IP sẽ đi interface nào.
Kiểm tra policy route
show router policy diagnose firewall proute listXem có policy route hoặc proute ảnh hưởng đến traffic không.
Ping với source IP
execute ping-options source <source_ip> execute ping <remote_ip>Kiểm tra FortiGate ping remote bằng source IP phù hợp.
Sniffer traffic qua tunnel
diagnose sniffer packet any 'host <remote_ip>' 4 0 aXem packet có đi ra và có reply về không.
Debug flow
diagnose debug flow filter saddr <local_client_ip> diagnose debug flow filter daddr <remote_server_ip> diagnose debug flow trace start 100 diagnose debug enableXác định packet match policy/route nào và bị drop ở đâu.
15. Troubleshooting theo từng tình huống
Tunnel up nhưng không ping được bất kỳ IP remote nào
Nguyên nhân có thể:
- Sai Phase 2 Selector.
- Thiếu route đến remote subnet.
- Thiếu firewall policy LAN → VPN.
- NAT bật nhầm.
- Peer không có route ngược.
- Remote firewall chưa cho phép.
Cách xử lý:
- Kiểm tra
diagnose vpn tunnel list. - Kiểm tra Phase 2 Selector hai đầu.
- Kiểm tra route đến remote subnet.
- Kiểm tra policy LAN → VPN.
- Tắt NAT nếu không có yêu cầu NAT.
- Dùng debug flow theo IP client và IP remote.
Chỉ ping được một chiều
Nguyên nhân có thể:
- Thiếu policy chiều ngược.
- Peer thiếu route về local subnet.
- Firewall policy phía remote chưa cho phép.
- NAT làm source IP thay đổi.
- Server/client chặn reply.
- Asymmetric routing.
Cách xử lý:
- Kiểm tra policy cả hai chiều.
- Kiểm tra route ngược.
- Kiểm tra NAT.
- Debug từ cả hai phía nếu có quyền truy cập.
- Test bằng nhiều IP khác nhau, không chỉ một server.
FortiGate ping được nhưng máy LAN không ping được
Nguyên nhân có thể:
- Ping từ FortiGate dùng source khác với máy LAN.
- Firewall policy LAN → VPN chưa đúng.
- Route từ LAN client đến FortiGate chưa đúng.
- Client không dùng FortiGate làm default gateway.
- Server remote chỉ allow IP của FortiGate, không allow subnet LAN.
Cách xử lý:
- Test ping từ client thật.
- Kiểm tra default gateway của client.
- Kiểm tra policy LAN → VPN.
- Kiểm tra source IP khi FortiGate ping.
- Debug flow theo IP client thật.
Máy LAN ping được gateway remote nhưng không ping được server remote
Nguyên nhân có thể:
- Server remote chặn ICMP.
- Server remote default gateway sai.
- Firewall nội bộ remote chặn.
- Server chỉ allow một số subnet.
- VLAN remote chưa route về FortiGate.
- ACL trên switch/router remote.
Cách xử lý:
- Test service thật thay vì chỉ ping.
- Kiểm tra firewall trên server.
- Kiểm tra default gateway của server.
- Ping từ server remote về local.
- Nhờ phía remote kiểm tra log firewall hoặc ACL.
Thêm subnet mới vào VPN nhưng subnet mới không chạy
Nguyên nhân có thể:
- Chưa thêm subnet mới vào Phase 2 Selector.
- Chưa thêm route đến subnet mới.
- Chưa thêm firewall policy cho subnet mới.
- Peer chưa thêm selector/route/policy tương ứng.
- Tunnel cần flush/rekey sau khi thêm selector.
Cách xử lý:
- Kiểm tra Phase 2 Selector hai đầu.
- Kiểm tra route hai đầu.
- Kiểm tra policy hai chiều.
- Kiểm tra
diagnose vpn tunnel list. - Test lại bằng client thuộc subnet mới.
VPN qua SD-WAN tunnel up nhưng không có traffic
Nguyên nhân có thể:
- Route đến remote subnet chưa qua VPN SD-WAN Zone.
- SD-WAN Rule VPN nằm dưới rule Internet.
- Performance SLA của tunnel bị down.
- Traffic match nhầm rule all-to-all.
- Firewall policy dùng sai outgoing interface.
- Session cũ vẫn giữ đường cũ.
Cách xử lý:
- Kiểm tra route đến remote subnet.
- Đưa rule VPN lên trên rule Internet.
- Kiểm tra
diagnose sys sdwan health-check. - Kiểm tra
diagnose sys sdwan service. - Kiểm tra
diagnose firewall proute list. - Clear session có kiểm soát nếu cần test lại.
16. Checklist trước khi gọi hỗ trợ
- Model FortiGate và phiên bản FortiOS.
- VPN site-to-site hay dial-up?
- Peer bên kia là FortiGate hay thiết bị hãng khác?
- Tunnel đang route-based hay policy-based?
- Local subnet là gì?
- Remote subnet là gì?
- Có subnet nào overlap không?
- Phase 2 Selector hai đầu đang khai báo gì?
- Có NAT qua VPN không?
- Có static route đến remote subnet chưa?
- Có policy LAN → VPN và VPN → LAN chưa?
- Peer bên kia có route ngược chưa?
- IP client local dùng để test là gì?
- IP server/gateway remote dùng để test là gì?
- Có SD-WAN hoặc policy route ảnh hưởng không?
- Đã backup config chưa?
17. Câu hỏi thường gặp
VPN tunnel up có nghĩa là VPN đã chạy hoàn toàn chưa?
Chưa. Tunnel up chỉ cho biết IPsec đã thiết lập. Traffic LAN-to-LAN còn phụ thuộc vào Phase 2 Selector, route, firewall policy, NAT, route ngược và firewall phía server/client.
Vì sao FortiGate ping được remote nhưng máy LAN không ping được?
Có thể ping từ FortiGate dùng source IP khác với máy LAN. Ngoài ra, firewall policy LAN → VPN có thể chưa đúng, client không đi gateway FortiGate, hoặc remote chỉ allow IP FortiGate chứ không allow subnet LAN.
VPN chỉ ping được một chiều là do đâu?
Thường do thiếu policy chiều ngược, peer thiếu route về local subnet, NAT sai, Phase 2 Selector lệch hoặc firewall phía remote chặn traffic.
Có cần tắt NAT trong policy VPN không?
Với VPN site-to-site thông thường, nên tắt NAT để hai bên nhìn thấy IP LAN thật của nhau. NAT chỉ nên dùng khi có yêu cầu đặc biệt như overlap subnet hoặc kết nối với bên thứ ba yêu cầu IP NAT cụ thể.
Không ping được remote server có chắc là VPN lỗi không?
Không chắc. Server remote có thể chặn ICMP, default gateway sai, firewall nội bộ chặn hoặc ACL không cho phép. Nên test thêm bằng gateway remote hoặc service thật.
Thêm subnet mới vào VPN cần làm gì?
Cần kiểm tra đủ Phase 2 Selector, route, firewall policy và cấu hình tương ứng ở cả hai đầu. Nếu chỉ thêm policy mà quên Phase 2 hoặc route, subnet mới có thể không chạy.
Tunnel up chỉ là bước đầu, chưa đủ để kết luận VPN đã thông traffic
Lỗi FortiGate IPsec VPN tunnel up nhưng không ping được LAN remote thường không nằm ở một điểm duy nhất. Để traffic LAN-to-LAN chạy được, cần đảm bảo selector, route, policy, NAT và route ngược đều đúng.
Khi xử lý, nên đi theo thứ tự:
- Kiểm tra tunnel và Phase 2.
- Kiểm tra selector.
- Kiểm tra route.
- Kiểm tra policy.
- Kiểm tra NAT.
- Kiểm tra route ngược.
- Kiểm tra server/client remote.
- Kiểm tra SD-WAN hoặc policy route nếu có.
- Dùng debug flow và sniffer để xác nhận packet đi/return.
Cần kiểm tra lỗi VPN tunnel up nhưng không ping được LAN remote?
Doanh nghiệp của anh/chị đang gặp lỗi FortiGate IPsec VPN tunnel up nhưng không ping được LAN remote, VPN chỉ ping được một chiều, hoặc Phase 2 up nhưng không có traffic?
NAMHI có thể hỗ trợ kiểm tra mô hình IPsec VPN, rà soát Phase 2 Selector, route, firewall policy, NAT, SD-WAN Rule và debug flow để xác định nguyên nhân chính xác.
/file/media/uploads/article/ftg.jpg)
/file/media/uploads/article/cover.png)
/file/media/uploads/wan-fortigate.png)
/file/media/uploads/network-interface.jpg)
/file/media/uploads/firewall-policy.jpg)
/file/media/uploads/web-filter.jpg)
/file/media/uploads/app-control.png)
/file/media/uploads/antivirus.jpg)
/file/media/uploads/ssl-inspection.png)
/file/media/uploads/vpn-client-to-site.jpg)
/file/media/uploads/ipsec-vpn.jpg)
/file/media/uploads/ha.jpg)