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

  • Người tạo chủ đề Người tạo chủ đề tuanreb
  • Ngày bắt đầu Ngày bắt đầu
mấy bác ơi có cách nào làm cho ipv6 của nhà viettel bớt lỏ không, có nhiều trang em không kết nối được luôn vd như không thể kích hoạt bản quyền adguard, tắt ipv6 thì kích bình thường :LOL: em cấu hình ipv6 trên mikrotik ạ
 
Có thím nào bị tình trạng như em sau đây không, cách xử lý như thế nào. Dạo gần đây kết nối winbox của em đến thiết bị mik toàn bị văng ra, trên bản win box 3.x thì văng không có thông báo. Dùng bản 4.0 thì có thông báo như sau ạ:
mik.jpg


Có lúc thì vào được rất lâu. lúc thì văng liên tục.
 
mới lên 7.16.1, bị hiện tượng phân giải IPv6 theo domain DDNS thiếu chính xác. VD: mình có 4 em mik thì 1 em bị phân giải IPv6 theo domain DDNS cũ, 3 em kia phân giải IPv6 đúng theo cập nhật. Không biết các bác có bị như vậy ko.
Đã phát hiện ra. Bản thân Mik cập nhật IP theo domain rất rất chậm.
nếu resolve theo DNS của google hoặc cloudflare (VD :resolve $myDomain type=ipv4/ipv6 server="8.8.8.8") thì cập nhật rất nhanh, tầm 3-5 phút sau khi DDNS update xong.
nếu resolve để mặc định, không có tham số DNS (:resolve $myDomain type=ipv4/ipv6) thì rất lâu, thường phải mất gần 1 ngày.
 
Sửa lần cuối:
À vâng ạ, giả sử bác muốn bên Site A ping được các thiết bị bên Site B nhưng ngược lại không được thì bác thử các bước sau, chỉnh sửa dựa trên cấu hình từ post trước của em

  • Tạo interface Wireguard-A trên router site A (để lấy trước public key)
  • Tạo interface Wireguard-B trên router site B (để lấy trước public key)

Trên router Site A:

  • Chỗ IP -> Address thêm địa chỉ 10.0.50.2/24 network 10.0.50.0 cho interface Wireguard-A
  • Thêm chỗ IP -> Routes 1 route với Destination=10.0.30.0/24 Gateway=Wireguard-A Routing Table=main
  • Tạo 1 peer WireGuard với thông tin từ site B (public key, thông tin endpoint từ địa chỉ IP public và cổng), Allowed Address đặt 10.0.50.3/32 VÀ 10.0.30.0/24. Bật Persistent Keepalive 10s.
  • Tạo interface list WAN nếu chưa có, cho interface Wireguard-A vào list WAN này.
  • Tạo rule trong DSTNAT trong bảng NAT nếu chưa có (nếu dùng tường lửa defconf của MikroTik thì có sẵn rồi và không cần thêm), đại khái là bác muốn srcnat các kết nối đi ra theo đường Wireguard-A:

Mã:
/ip firewall nat
add action=masquerade chain=srcnat ipsec-policy=out,none out-interface-list=WAN

Trên router Site B:
  • Chỗ IP -> Address thêm địa chỉ 10.0.50.3/24 network 10.0.50.0 cho interface Wireguard-B
  • Cho Wireguard-B vào interface list LAN (nếu sử dụng cấu hình tương tự của MikroTik)
  • Tạo 1 peer WireGuard với thông tin từ site A (public key, không cần điền endpoint, hoặc nếu site A có địa chỉ public thì điền cũng được), Allowed Address đặt 10.0.50.2/32.
Tóm lại là bên bác muốn cho ping được bên còn lại thì bác phải thêm 1 route với dst-address là dải của bên còn lại trong bảng route. Và cho srcnat masquerade các kết nối đi ra đường WireGuard.

Bên muốn nhận được ping mà không ping đi được thì bác không thêm mục route như post cũ nữa, và chỗ Allowed Address cũng không cần điền dải địa chỉ của phía bên còn lại.
bác cho em hỏi em làm theo bác bỏ endpoint và port trong phần peer của site B thì mỗi lần khởi động lại là sẽ không kết nối được. Là lỗi hay sao vậy bác?
 
bác cho em hỏi em làm theo bác bỏ endpoint và port trong phần peer của site B thì mỗi lần khởi động lại là sẽ không kết nối được. Là lỗi hay sao vậy bác?
mình nghi B của bác ko có public IP, mình gặp vấn đề tương tự khi site-to-site do A có public IPv4, B bị sau CGNAT, sau phải chuyển sang dùng IPv6 với endpoint 2 đầu thì êm ngay.
 
bác cho em hỏi em làm theo bác bỏ endpoint và port trong phần peer của site B thì mỗi lần khởi động lại là sẽ không kết nối được. Là lỗi hay sao vậy bác?

Ngoài trường hợp không có địa chỉ public như bác @wuhoatu bảo, thì trong trường hợp ở site B không điền Endpoint (thông tin của site A) và bác reboot router B và nhận được địa chỉ IP mới ở site B thì cũng có thể bị như bác bảo ạ.

Lý do là sau khi có địa chỉ mới thì Site A chưa có thông tin này ngay lập tức (nếu dùng DDNS thì sẽ có thời gian TTL, nếu điền địa chỉ trực tiếp thì cần có script update địa chỉ này kịp thời chỗ peer) chỗ phần Endpoint. Site A sẽ tiếp tục gửi handshake tới địa chỉ IP cũ của site B trong một thời gian. Còn site B không có thông tin endpoint sau khi reboot nên không gửi handshake đi được mà chỉ đợi packet tới từ site A ạ.

Còn nếu bên Site A có địa chỉ public và bác cũng điền nó vào chỗ Endpoint trên cấu hình peer bên router B thì sau khi reboot router site B gửi packet handshake ngay cho router site A được (IP của bên site A không bị đổi). Site A lúc này nhận được packet handshake và sẽ cập nhật ngay phần Current Endpoint Address/Port của peer với thông tin mới và sử dụng nó để gửi các packet tới site B ạ. Nên không bị ảnh hưởng bởi việc router B reboot và nhận địa chỉ mới.

Như vậy nếu cả 2 bên đều có địa chỉ public thì tốt nhất vẫn nên điền thông tin Endpoint cả hai bên. Còn trong trường hợp Site A không có địa chỉ public, và do đó bác không điền được thông endpoint chỗ cấu hình bên router B, thì bác phải cố gắng sau cho bên router A thông tin endpoint của site B được cập nhật kịp thời nhất có thể được. Bác có thể đặt TTL của domain thật ngắn, rồi có thể có script resolve domain thường xuyên và cập nhật peer trên router A khi có thay đổi. Hoặc bác có thể làm như script hình như hồi trước bác @wuhoatu có post rồi, là kiểm tra cái giá trị last handshake, và nếu thấy nó lâu quá rồi thì có thể thử ép resolve domain DDNS để lấy địa chỉ mới hoặc disable/enable cái peer để nó cập nhật.
 
mới lên 7.16.1, bị hiện tượng phân giải IPv6 theo domain DDNS thiếu chính xác. VD: mình có 4 em mik thì 1 em bị phân giải IPv6 theo domain DDNS cũ, 3 em kia phân giải IPv6 đúng theo cập nhật. Không biết các bác có bị như vậy ko.
Đã phát hiện ra. Bản thân Mik cập nhật IP theo domain rất rất chậm.
nếu resolve theo DNS của google hoặc cloudflare (VD :resolve $myDomain type=ipv4/ipv6 server="8.8.8.8") thì cập nhật rất nhanh, tầm 3-5 phút sau khi DDNS update xong.
nếu resolve để mặc định, không có tham số DNS :)resolve $myDomain type=ipv4/ipv6) thì rất lâu, thường phải mất gần 1 ngày.

Có khả năng TTL của domain bác cao ạ? Còn lại chính bản 7.16 các chú MikroTik chỉnh sửa rất nhiều nên nó có lỗi là ngay cả khi có tham số server lệnh resolve vẫn dùng cache:


Và 7.16.1 sửa chính cái lỗi đó ạ:

*) dns - do not look up local cache when executing ":resolve" command with specified "server" parameter (introduced in v7.16);

Nhờ có bản 7.16.1 thì bác mới ép cập nhật được nhanh bằng cách để server=8.8.8.8 đó ạ. Còn 7.16 thì cả với tham số đó nó vẫn dùng cache.
 
mấy bác ơi có cách nào làm cho ipv6 của nhà viettel bớt lỏ không, có nhiều trang em không kết nối được luôn vd như không thể kích hoạt bản quyền adguard, tắt ipv6 thì kích bình thường :LOL: em cấu hình ipv6 trên mikrotik ạ

Em không dùng Viettel nên không rõ bên Viettel định tuyến IPv6 có ngon lành không. Trong trường hợp không phải lỗi định tuyến của Viettel thì bác thử cố gắng cho cái kết nối PPPoE của bác nó dùng được MTU 1500 là tốt nhất. IPv6 rất nhạy cảm với MTU do các routers và nodes trung gian không được phép phân mảnh packet khi vượt quá kích thước.

Trong trường hợp MTU của PPPoE không nâng được lên 1500 thì bác thử vào IPv6 -> ND, tạo các mục mới ứng với các interface trong LAN (hoặc nếu có cái default dùng interface all thì sửa ở nó) và đặt giá trị mục MTU cho bằng giá trị MTU của kết nối PPPoE ạ. Các thiết bị nối vào các interface đó khi dùng IPv6 sẽ sử dụng MTU này nên về lý thuyết sẽ không cố gửi packet quá to không đi được qua nút chỗ PPPoE nữa ạ.

Ngoài ra bác chú ý tường lửa IPv6 không được chặn ICMPv6, áp dụng cả chain input lẫn forward.
 
Lên 7.16.1 lại bị không syn được NPT client của GG. Lại phải masquerade port 123 mới đc. Với lại thấy log nó báo cập nhật lại giờ của mik suốt.
1000002281.jpg
 
Ngoài trường hợp không có địa chỉ public như bác @wuhoatu bảo, thì trong trường hợp ở site B không điền Endpoint (thông tin của site A) và bác reboot router B và nhận được địa chỉ IP mới ở site B thì cũng có thể bị như bác bảo ạ.

Lý do là sau khi có địa chỉ mới thì Site A chưa có thông tin này ngay lập tức (nếu dùng DDNS thì sẽ có thời gian TTL, nếu điền địa chỉ trực tiếp thì cần có script update địa chỉ này kịp thời chỗ peer) chỗ phần Endpoint. Site A sẽ tiếp tục gửi handshake tới địa chỉ IP cũ của site B trong một thời gian. Còn site B không có thông tin endpoint sau khi reboot nên không gửi handshake đi được mà chỉ đợi packet tới từ site A ạ.

Còn nếu bên Site A có địa chỉ public và bác cũng điền nó vào chỗ Endpoint trên cấu hình peer bên router B thì sau khi reboot router site B gửi packet handshake ngay cho router site A được (IP của bên site A không bị đổi). Site A lúc này nhận được packet handshake và sẽ cập nhật ngay phần Current Endpoint Address/Port của peer với thông tin mới và sử dụng nó để gửi các packet tới site B ạ. Nên không bị ảnh hưởng bởi việc router B reboot và nhận địa chỉ mới.

Như vậy nếu cả 2 bên đều có địa chỉ public thì tốt nhất vẫn nên điền thông tin Endpoint cả hai bên. Còn trong trường hợp Site A không có địa chỉ public, và do đó bác không điền được thông endpoint chỗ cấu hình bên router B, thì bác phải cố gắng sau cho bên router A thông tin endpoint của site B được cập nhật kịp thời nhất có thể được. Bác có thể đặt TTL của domain thật ngắn, rồi có thể có script resolve domain thường xuyên và cập nhật peer trên router A khi có thay đổi. Hoặc bác có thể làm như script hình như hồi trước bác @wuhoatu có post rồi, là kiểm tra cái giá trị last handshake, và nếu thấy nó lâu quá rồi thì có thể thử ép resolve domain DDNS để lấy địa chỉ mới hoặc disable/enable cái peer để nó cập nhật.
bác còn script đó không nhỉ, cho mình xin tham khảo với
 
Có thím nào bị tình trạng như em sau đây không, cách xử lý như thế nào. Dạo gần đây kết nối winbox của em đến thiết bị mik toàn bị văng ra, trên bản win box 3.x thì văng không có thông báo. Dùng bản 4.0 thì có thông báo như sau ạ:
Xem tệp đính kèm 2732030

Có lúc thì vào được rất lâu. lúc thì văng liên tục.
Có thím nào bị lỗi này không ạ, cách khắc phục với, chứ e ko thể login vào để điều chỉnh em nó.
 
bác còn script đó không nhỉ, cho mình xin tham khảo với

Em cho cái này chạy trong scheduler với chu kỳ vài phút, với TTL domain đủ ngắn (cái của IP -> Clouds là 1 phút)

Mã:
:local peerdomain "my.domain.net";
:local peercomment "XYZ";
:local newaddr [:resolve type=ipv6 domain-name="$peerdomain"]

/interface wireguard peers;
:foreach peer in=[find comment="$peercomment"] do={
    :local oldaddr [get number=$peer endpoint-address];
    :if ($newaddr!=$oldaddr) do={
        :log info "update_wireguard_endpoint: Updating \"$peercomment\" $oldaddr -> $newaddr (from \"$peerdomain\").";
        set number=$peer endpoint-address="$newaddr";
    };
};

Em dùng IPv6 nên chỗ resolve chọn type=ipv6, bác dùng IPv4 thì thay tương ứng. Với cái script này em dùng từ xưa nên nhận dạng peer bằng cách gắn comment trên cái peer. Nhưng từ vài bản RouterOS gần đây thì cái peer nó có thêm cái cột name rồi. Nên chỗ find kia bác có thể thay tìm theo comment bằng tìm theo name ạ. Cái này nó sửa mục End Address của peer bằng địa chỉ IP hiện thời của domain.

Còn post của bác @wuhoatu về kiểm tra last-handshake ở đây ạ:

 
Em không dùng Viettel nên không rõ bên Viettel định tuyến IPv6 có ngon lành không. Trong trường hợp không phải lỗi định tuyến của Viettel thì bác thử cố gắng cho cái kết nối PPPoE của bác nó dùng được MTU 1500 là tốt nhất. IPv6 rất nhạy cảm với MTU do các routers và nodes trung gian không được phép phân mảnh packet khi vượt quá kích thước.

Trong trường hợp MTU của PPPoE không nâng được lên 1500 thì bác thử vào IPv6 -> ND, tạo các mục mới ứng với các interface trong LAN (hoặc nếu có cái default dùng interface all thì sửa ở nó) và đặt giá trị mục MTU cho bằng giá trị MTU của kết nối PPPoE ạ. Các thiết bị nối vào các interface đó khi dùng IPv6 sẽ sử dụng MTU này nên về lý thuyết sẽ không cố gửi packet quá to không đi được qua nút chỗ PPPoE nữa ạ.

Ngoài ra bác chú ý tường lửa IPv6 không được chặn ICMPv6, áp dụng cả chain input lẫn forward.
1728985893906.png


Em để MTU 1500 luôn á bác. Còn tường lửa IPV6 e ko có cấu hình
 
Bác nên cấu hình tường lửa để chặn kết nối từ ngoài vào router¹ (trừ những cái bác thực sự muốn dùng khi ở ngoài). Với trong trường hợp này chắc bác không có nhu cầu dùng api thì vào IP -> Services rồi disable mục api đi ạ.

Trong hình của bác là bọn bên ngoài đang thử login vào router theo cái giao diện api của RouterOS. Hiện nó chắc vẫn chưa vào được do pass của bác không dễ đoán. Còn nếu nó mò ra được pass của bác rồi thì chắc sẽ vào chiếm quyền điều khiển router của bác, tạo user (System) và group (admin)mới, như ở topic này:


Xem tệp đính kèm 2717948
Hay như bác Verynoober từng bị ở đây thảo luận - Cộng đồng người dùng MikroTik Router (https://voz.vn/t/cong-dong-nguoi-dung-mikrotik-router.50804/post-33832080)

¹ Bác có thể tham khảo các rule tường lửa của MikroTik ở phần Spoiler: Defconf Firewall chỗ này thảo luận - Cộng đồng người dùng MikroTik Router (https://voz.vn/t/cong-dong-nguoi-dung-mikrotik-router.50804/page-858#post-33673455)
Em cũng bị y hệt, vừa mới mua con mikrotik, vừa remove config, quay PPPoE ra mạng phát là bị hack ngay lập tức sau 1p. Không tin nổi vào mắt mình vì chưa bao giờ bị hack nhanh đến thế =)) mất công setup bao nhiêu rule rồi cuối cùng lại phải reset để cài lại từ đầu, đến mệt. Bài học là setup hết mạng LAN trước, cài pass thật khó đoán, setup rule firewall chặn winbox với API rồi cuối cùng mới quay lại setup PPPoE sau.
 
Bác @CGGX_ANNX ơi cách này có chặn được vụ Laptop phát wifi cho người khác dùng không ạ ? Em có để chế độ Mac whitelist trên AP mới vào wifi được.

À em đọc trên forum Mikrotik thì có người nói cách TTL này không chặn được. Cám ơn bác 😁
 
Sửa lần cuối:
Các bác cho em hỏi, hiện tại em mới đổi AP sang loại mạnh hơn, nhiều thiết bị dùng chùa quá nên nó bị đầy hết pool 254ip, giờ làm cách nào để tăng lượng ip cấp được lên vậy ạ?


via theNEXTvoz for iPhone
 

Thống kê chủ đề

Ngày tạo
tuanreb,
Người trả lời cuối
l372un,
Trả lời
21.130
Lượt xem
2.527.776
Quay lại
Lên đầu trang