thảo luận Cộng đồng người dùng MikroTik Router

nhờ các pro hướng dẫn NAT port bên trong là 80 với (Mik đang ver 6). Mình làm port khác ok, port này không được.

Bác vào IP -> Services trong WinBox, chuyển cổng www đang đặt sang cổng khác (tiện cả www-ssl sang khác 443 nữa nếu sau này bác cần forward cả HTTPS) xem sao ạ.

Một khả năng khác là do ISP chặn cổng 80 về hướng nhà bác (kiểu như VNPT chặn UDP 123 cổng NPT) để ngăn bác host web server ra ngoài. ISP nhà em thì không bị.
 
Last edited:
Mình tính quay PPPoE trên con Xpenology N5105, sau đó cài Mikrotik lên máy ảo VMM của Xpen để cấp internet và DHCP cho router wifi, nhưng mà ko biết cách edit serial của ổ cứng như các nền tảng ảo hoá khác, các bác có biết ko chỉ giúp mình với.
Liệu config như vậy có ổn không hả các bác ?
Có vẻ thím làm hơi ngược. Trước hết, thím phải cài Virtual Environment (VMWare, Proxmox), sau đó Cài VM Mik và VM Xpen lên VE. Con N5105 support cả VT-x lẫn VT-d nên thím có thể passthough card mạng để xài trực tiếp trên VM Mik và passthrough HDD để xài trên Xpen.
1714553932926.png

Nếu passthrough cạc mạng, nên để lại 1 cổng không share làm virtual thì Mik lẫn Xpen đều xài được. VD: em nó có 4 cổng 2.5GBe, passthrough 3 cổng 1 - 3, cổng 4 ko passthrough Mik và Xpen xài chung.
Cách cài có thể tham khảo ở đây:
Mikrotik on Proxmox
Xpenology on Proxmox
VD Passthrough HDD xài trực tiếp trên VM Xpen
1714553978546.png
 
Last edited:
Có vẻ thím làm hơi ngược. Trước hết, thím phải cài Virtual Environment (VMWare, Proxmox), sau đó Cài VM Mik và VM Xpen lên VE. Con N5105 support cả VT-x lẫn VT-d nên thím có thể passthough card mạng để xài trực tiếp trên VM Mik lẫn Xpen và passthrough HDD để xài trên Xpen.
View attachment 2469722
Nếu passthrough cạc mạng, nên để lại 1 cổng không share làm virtual thì Mik lẫn Xpen đều xài được.
Cách cài có thể tham khảo ở đây:
Mikrotik on Proxmox
Xpenology on Proxmox
VD Passthrough HDD xài trực tiếp trên VM Xpen
View attachment 2469724
Cảm ơn bro, để mình thử xem nhé
 
Các bác cho em hỏi lm sao để public 4 IP động của nhà mạng ra ngoài nhỉ , chả là em có quay pppoe 4 đường giờ mún public 4 IP đó ra ngoài .
 
Screenshot 2024-05-01 222553.png


@CGGX_ANNX

Ép nó lên vầy, nghi ngờ nó report ảo quá thím. Thường nó trừ 6 + 2 bytes

Test với ping
Screenshot 2024-05-01 224230.png


1472+28 = 1500

Vậy chắc được rồi
 
Last edited:
View attachment 2470238

@CGGX_ANNX

Ép nó lên vầy, nghi ngờ nó report ảo quá thím. Thường nó trừ 6 + 2 bytes

Test với ping
View attachment 2470260

1472+28 = 1500

Vậy chắc được rồi

Vâng bác ạ, ping -f -l 1472 mà thông là MTU 1500 chạy đủ. Thử 1473 là nó sẽ báo lỗi. Tuy nhiên bác nên vào SpeedGuide - Broadband, Wireless, Network Security (https://www.speedguide.net/analyzer.php) đây ạ. Nó phải hiện như này

1714578641261.png


Thì RouteOS mới đã set MSS đúng. Còn MSS 1452 là vẫn chưa ngon. Ở nhà em thì MSS không lên 1460 nếu em không chỉnh MTU của interface VLAN (nhà bác là cái "vlan internet 116" thì phải) lên 1508 ạ. Chỉ để 1500 thì ping với UDP gửi packet 1500 byte được nhưng TCP thì không được tối đa (maximum segment size chỉ 1452 thay vì 1460) vì RouterOS tính nhầm ạ.

Cái MSS tự động set này là do thiết lập

1714578885268.png


Ở profile PPP mà cái pppoe-out sử dụng, chứ không phải từ rule mangle như một số hướng dẫn vẫn bảo ạ.
 
Last edited:
Vâng bác ạ, ping -f -l 1472 mà thông là MTU 1500 chạy đủ. Thử 1473 là nó sẽ báo lỗi. Tuy nhiên bác nên vào SpeedGuide - Broadband, Wireless, Network Security (https://www.speedguide.net/analyzer.php) đây ạ. Nó phải hiện như này

View attachment 2470267

Thì RouteOS mới đã set MSS đúng. Còn MSS 1452 là vẫn chưa ngon. Ở nhà em thì MSS không lên 1460 nếu em không chỉnh MTU của interface VLAN (nhà bác là cái "vlan internet 116" thì phải) lên 1508 ạ. Chỉ để 1500 thì ping với UDP gửi packet 1500 byte được nhưng TCP thì không được tối đa (chỉ 1452 thay vì 1460) vì RouterOS tính nhầm ạ.

Cái MSS tự động set này là do thiết lập

View attachment 2470270

Ở profile PPP mà cái pppoe-out sử dụng, chứ không phải từ rule mangle như một số hướng dẫn vẫn bảo ạ.

Code:
« SpeedGuide.net TCP Analyzer Results »
Tested on: 2024.05.01 11:55
IP address: 113.169.xxx.xxx
Client OS/browser: Windows 10 (Chrome 124.0.0.0)
 
TCP options string: 020405ac0103030801010402
MSS: 1452
MTU: 1492
TCP Window: 262656 (not multiple of MSS)
RWIN Scaling: 8 bits (2^8=256)
Unscaled RWIN : 1026
Recommended RWINs: 63888, 127776, 255552, 511104, 1022208
BDP limit (200ms): 1051 Mbps (105 Megabytes/s)
BDP limit (500ms): 420 Mbps (42 Megabytes/s)
MTU Discovery: ON
TTL: 48
Timestamps: OFF
SACKs: ON
IP ToS: 00000000 (0)

Nghi ngờ rồi. Để khuy làm tiếp vậy.

bên 4 chân , đổi IP liên tục, nó ngâm session, cả nữa tiếng đồng hồ ko quay pppoe được

P/S: Lúc đang để mtu vlan là 1500 thì sau cái ppp bắt tay thì ROS nó send maxlen = 1492
Screenshot 2024-05-01 232447.png



UPdated: thay mtu trên vlan internet lênh thành 1508 ( 6+2 ) thì đã nhận MTU1500.
Trang report cũng báo 1500 và 1460.
Vẫn chèn rule clamp mss trong ipv6 -> firewall -> mangle, thì thấy data vẫn nhảy, ít hơn nhiều so với trước, và mượt hơn rất nhiều.
Thanks thím @CGGX_ANNX nhiệt tình giúp đỡ rất nhiều.
 
Last edited:
P/S: Lúc đang để mtu vlan là 1500 thì sau cái ppp bắt tay thì ROS nó send maxlen = 1492
View attachment 2470303

Cái chỗ đó 1492 là bình thường ạ. Cái đó nó là độ dài dữ liệu (chắc toàn zero hoặc random bytes) RouterOS đang gửi kèm với cái packet LCP echo request, nhà em nó cũng gửi 1492 bytes

1714584391819.png


Chắc là 1 cách thử gửi packet to xem có qua được không, có vẻ chỗ này RouterOS cũng chưa update độ dài cho khớp với MTU thật.

Còn quan trọng là ở bên trên cơ ạ, chỗ mà router của bác với các access concentrator negotiate một số tham số trước khi login:

1714584661470.png


Ở đây bác sẽ thấy router gửi (màu xanh) packet LCP Config Request thông báo MRU = 1500 (tức là maximum receive unit, kích thước payload tối đa router nhận được là 1500). MRU của bác là MTU của ISP, phía ISP nhận được cái này thì biết họ nên set MTU 1500 ở phía họ.

Sau đó bên dưới, AC của ISP gửi (màu tím) packet LCP Config Acknowledge, cũng thông báo MRU của bên đó là 1500. Tức là bảo bác được phép gửi packet với payload 1500 (phía bác là MTU) cho bên họ.

Ở giữa là 2 bên thống nhất dùng PAP làm phương thức trao đổi xác thực.

Em nghĩ chỗ này bên bác ok rồi nên trong Status của pppoe-out1 mới ghi Actual MTU và MRU là 1500. Vấn đề của bác hiện chỉ bị chỗ tính MSS cho TCP và RouterOS tính nhầm thôi ạ.
 
Thấy mấy thím bàn ipv6 xôm tụ quá....mà hiện tại ngoài mấy dịch vụ của google ra có cái dịch nào chạy được ipv6 chưa mấy thím 😁. Ứng dụng thực tiễn của ipv6 là gì?
 
Thấy mấy thím bàn ipv6 xôm tụ quá....mà hiện tại ngoài mấy dịch vụ của google ra có cái dịch nào chạy được ipv6 chưa mấy thím 😁. Ứng dụng thực tiễn của ipv6 là gì?

Nhiều dịch vụ lắm rồi bác ạ. Nhà em thống kê trên firewall IPv6 và IPv4 thì từ lúc reboot router hôm qua (để chắc ăn vụ VLAN MTU đã fix) traffic IPv6 bằng 3.4 lần IPv4 ạ. Thường hàng tháng nhà em ít nhất cũng gấp 2. Hầu hết các site và dịch vụ lớn hỗ trợ hết, khi đó thì thiết bị của bác sẽ ưu tiên sử dụng IPv6.

Thiết bị dùng mạng di động giờ đa phần cũng dùng IPv6, IPv4 di động thì 100% bị NAT phải share địa chỉ với người khác. Ở nhà bác có IPv6 thì mấy trò mở cổng hay bật VPN cứ sử dụng mỗi IPv6 thôi ạ, đóng sạch bên IPv4, không cần quan tâm bị CGNAT. Nhất là không bị bọn nó quét cổng như bên IPv4 ạ. Dải địa chỉ IPv4 quá nhỏ, quét quá dễ. Còn với IPv6 thì bác chọn phần interface ID (IID) của địa chỉ (nửa 64bit cuối của địa chỉ) nó random (không phải kiểu chỉ chọn ::123) là không thằng nào scan hàng loạt nổi ạ. Nó chỉ mò ra địa chỉ của router bác nếu nó biết subdomain bác gán cho địa chỉ đó thôi. Và với IPv6 thì mỗi thiết bị của bác có địa chỉ riêng, khác với địa chỉ của router, và phần đuôi IID thì, để giúp privacy, các thiết bị thay đổi thường xuyên (vài giờ - hàng ngày tùy thiết bị), nên bác dùng thiết bị nối vào các trang hay dịch vụ thì bọn chúng cũng không biết router của bác ở đâu (chỉ biết phần prefix).

Tất nhiên khi dùng IPv6 thì sẽ bị hi sinh mất 20 bytes mỗi packet so với IPv4, coi như hi sinh mất 1.3% băng thông. Bù lại bác không bị lo phải chen chúc với người khác (trường hợp CGNAT) hoặc quay PPPoE vớ phải địa chỉ IPv4 bị các dịch vụ nó ban.

Nat port là đc mà thím 😅. Hãy tưởng tượng client không đi qua NAT firewall thì nguy cơ bảo mật bị hack nó cao dã man 😁

Vì không có NAT nên các thiết bị đều có địa chỉ từ ngoài nối trực tiếp vào được. Nhưng không có nghĩa là bị phơi ra cho bọn khác tấn công ạ. Tường lửa IPv6 nếu bác cấu hình đúng (thí dụ dùng cái default của MikroTik) thì mặc định sẽ block forwarding từ ngoài tới các thiết bị, nên không khác gì trường hợp dùng IPv4 với NAT. Muốn từ ngoài nối thẳng vào cổng nào đó của 1 thiết bị thì bác vẫn phải bật rule accept chain forward với cổng đó mà thôi, khác một cái là không cần dst-nat và bên ngoài sẽ dùng địa chỉ IP của thiết bị chứ không phải của router. Và nếu nối từ ngoài thì bác thường sẽ sử dụng địa chỉ EUI64 với phần 64bit IID cố định của thiết bị (thường các thiết bị sẽ tự tạo cho mình 2 địa chỉ, một cái với đuôi random, dùng khi nối ra ngoài, một cái đuôi cố định).

Bất tiện chỉ là ở chỗ ISP ở Việt Nam cung cấp prefix IPv6 động thay đổi mỗi khi quay lại PPPoE, nên thường bác sẽ phải chạy một đống script để nó tự update lại prefix trong các address list hay rules này nọ mỗi khi DHCPv6 Client nhận được prefix mới.

Cái bất tiện nhất hiện giờ là khi muốn sử dụng IPv6 bên trong WireGuard (như trường hợp ở ngoài chỗ không đáng tin cậy nối qua WG về nhà để dùng router nhà ra internet và sử dụng các dịch vụ IPv6). Thường gán địa chỉ IPv4 cho các thiết bị WG thì đơn giản (phần Allowed addresses / Allowed IPs) vì chỉ việc chọn địa chỉ cố định trong dải IPv4 private. Nhưng khi muốn các thiết bị có cả địa chỉ IPv6 và dùng được địa chỉ này vào internet thì phải điền địa chỉ IPv6 với prefix đúng vào mục này, tức là phải viết script update mục Allowed addresses của các peers mỗi khi DHCPv6 Client nhận được prefix mới. Cái này thì đơn giản rồi. Tuy nhiên trên các thiết bị vẫn cần phải update địa chỉ IPv6 ở phần Addresses của từng thiết bị, và cái này không tự động hóa được :(. Giờ em ở ngoài nối về mà thấy không dùng được IPv6 là lạ phải tắt đi, lấy app query DNS để xem prefix IPv6 ở nhà có bị đổi không, rồi copy cái prefix mới vào cái cấu hình WG trên điện thoại. Rất là thủ công.

Giải pháp sử dụng dải địa chỉ ULA fd00::/8 để có prefix cố định không khả thi vì các thiết bị giờ hạ ưu tiên prefix ULA thấp hơn IPv4 nên sẽ không dùng IPv6 nếu server bên kia hỗ trợ cả IPv4 lẫn IPv6 và thiết bị chỉ có địa chỉ fd00::/8 :(
 
Last edited:
Nhiều dịch vụ lắm rồi bác ạ. Nhà em thống kê trên firewall IPv6 và IPv4 thì từ lúc reboot router hôm qua (để chắc ăn vụ VLAN MTU đã fix) traffic IPv6 bằng 3.4 lần IPv4 ạ. Thường hàng tháng nhà em ít nhất cũng gấp 2. Hầu hết các site và dịch vụ lớn hỗ trợ hết, khi đó thì thiết bị của bác sẽ ưu tiên sử dụng IPv6.

Thiết bị dùng mạng di động giờ đa phần cũng dùng IPv6, IPv4 di động thì 100% bị NAT phải share địa chỉ với người khác. Ở nhà bác có IPv6 thì mấy trò mở cổng hay bật VPN cứ sử dụng mỗi IPv6 thôi ạ, đóng sạch bên IPv4, không cần quan tâm bị CGNAT. Nhất là không bị bọn nó quét cổng như bên IPv4 ạ. Dải địa chỉ IPv4 quá nhỏ, quét quá dễ. Còn với IPv6 thì bác chọn phần interface ID (IID) của địa chỉ (nửa 64bit cuối của địa chỉ) nó random (không phải kiểu chỉ chọn ::123) là không thằng nào scan hàng loạt nổi ạ. Nó chỉ mò ra địa chỉ của router bác nếu nó biết subdomain bác gán cho địa chỉ đó thôi. Và với IPv6 thì mỗi thiết bị của bác có địa chỉ riêng, khác với địa chỉ của router, và phần đuôi IID thì, để giúp privacy, các thiết bị thay đổi thường xuyên (vài giờ - hàng ngày tùy thiết bị), nên bác dùng thiết bị nối vào các trang hay dịch vụ thì bọn chúng cũng không biết router của bác ở đâu (chỉ biết phần prefix).

Tất nhiên khi dùng IPv6 thì sẽ bị hi sinh mất 20 bytes mỗi packet so với IPv4, coi như hi sinh mất 1.3% băng thông. Bù lại bác không bị lo phải chen chúc với người khác (trường hợp CGNAT) hoặc quay PPPoE vớ phải địa chỉ IPv4 bị các dịch vụ nó ban.



Vì không có NAT nên các thiết bị đều có địa chỉ từ ngoài nối trực tiếp vào được. Nhưng không có nghĩa là bị phơi ra cho bọn khác tấn công ạ. Tường lửa IPv6 nếu bác cấu hình đúng (thí dụ dùng cái default của MikroTik) thì mặc định sẽ block forwarding từ ngoài tới các thiết bị, nên không khác gì trường hợp dùng IPv4 với NAT. Muốn từ ngoài nối thẳng vào cổng nào đó của 1 thiết bị thì bác vẫn phải bật rule accept chain forward với cổng đó mà thôi, khác một cái là không cần dst-nat và bên ngoài sẽ dùng địa chỉ IP của thiết bị chứ không phải của router. Và nếu nối từ ngoài thì bác thường sẽ sử dụng địa chỉ EUI64 với phần 64bit IID cố định của thiết bị (thường các thiết bị sẽ tự tạo cho mình 2 địa chỉ, một cái với đuôi random, dùng khi nối ra ngoài, một cái đuôi cố định).

Bất tiện chỉ là ở chỗ ISP ở Việt Nam cung cấp prefix IPv6 động thay đổi mỗi khi quay lại PPPoE, nên thường bác sẽ phải chạy một đống script để nó tự update lại prefix trong các address list hay rules này nọ mỗi khi DHCPv6 Client nhận được prefix mới.
Cảm ơn thím đã thông não. Trước giờ e nghĩ là client dùng ipv6 thì firewall của router nó không can thiệp được 😁. Trước em dùng ipv6 thì chỉ dùng được dịch của Google còn lại không chạy được kể cả FB, mấy site ở VN kêu có ipv6 cũng không truy cập được nên bất tiện quá chừng 😅
 
Cảm ơn thím đã thông não. Trước giờ e nghĩ là client dùng ipv6 thì firewall của router nó không can thiệp được 😁. Trước em dùng ipv6 thì chỉ dùng được dịch của Google còn lại không chạy được kể cả FB, mấy site ở VN kêu có ipv6 cũng không truy cập được nên bất tiện quá chừng 😅

Trên RouterOS thì router vẫn có nhiệm vụ phải forward packet từ/đến các thiết bị nên bảo vệ bằng các block trên chain forward ạ. Ở chain forward của bảng filter IPv6 nên có ít nhất 3 cái rules kiểu như này ạ:


1714630020313.png


(Cái trích dẫn này từ trang kia cũng có trong cấu hình tường lửa mặc định ở các dòng router RBxxx)

Một cái cho phép packet của những kết nối đã tạo được đi qua (như thế khi bác từ trong gửi packet ra ngoài thì packet trả lời được phép đi qua). Một cái cho phép packet ICMPv6, rất quan trọng nếu muốn IPv6 hoạt động dúng. Và cái dưới cùng block sạch nhưng kết nối mới từ các interface không có trong list LAN (cấu hình mặc định sẽ để cái bridge chính vào list LAN này), nói cách khác là chặn kết nối mới từ ngoài vào các thiết bị trong LAN. Muốn không chặn bác sẽ phải thêm các rules accept chain forward cụ thể và kéo lên trên rule drop này.

Còn trước giờ phần lớn các vấn đề IPv6 gặp phải thường liên quan đến MTU. Packet IPv6 ngoài việc payload bị giảm 20 bytes so với IPv4 thì còn có thêm khoản là các router không được tự ý phân mảnh packet cho đủ nhỏ nếu packet to quá không đi qua được. Nên chỉ cần đâu đó trên đường truyền cấu hình MTU sai hoặc MTU nhỏ hơn bình thường là packet sẽ bị drop nếu quá khổ. IPv6 giải quyết điều này bằng cách yêu cầu ICMPv6 phải được hỗ trợ (tường lửa không được chặn các packet ICMPv6 có các type quan trọng), các router khi chặn packet vì quá khổ sẽ được yêu cầu gửi packet ICMPv6 trả lời và thông báo MTU tối đa hỗ trợ được. Đây chính là cách cái Path MTU Discovery hoạt động ạ. Client nhận được packet ICMPv6 type 2 (Packet Too Big) sẽ hạ kích thước packet mình gửi xuống <= giá trị được thông báo và gửi lại. Nếu trên đường có các hop hay tường lửa drop ICMPv6 là cái này không hoạt động, packet bị drop mà thiết bị gửi không biết vì sao.

Ngày nay thì các thiết bị ở 2 đầu cũng như các router trên đường truyền đều hỗ trợ IPv6 tốt hơn nhiều ạ, nên hầu như không bị vấn đề nữa. Thường vấn đề giờ đa số gặp trong trường hợp dùng tunnel (VPN) và cấu hình MTU sai (các loại tunnel đều làm giảm MTU đi nhiều).
 
Last edited:
Mò hoài thì wan nhận ipv6 mà client ko được, bỏ luôn. 😂😂😂
Gọi lên tổng đài , hẹn nó bảo cho kĩ thuật biết về config mikrotik xuống làm cho ra ngô ra khoai :D
Gì chứ FPT service tốt đó , bữa pressing xong có cả ông trưởng phòng gì xuống xin ý kiến :byebye:
 
Back
Top