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

Hi các bác, em đang có nhu cầu sau nhờ các bác giúp em với ạ.

Hiện tại nhà em đang có 2 dạng thiết bị. Dạng 1 là các thiết bị cần đặt static IP, dạng 2 là các thiết bị chỉ cần vào mạng, không quan tâm IP nó là gì.

Em đang cấu hình cho tất cả các thiết bị vào dải Address 192.168.1.1/24, sau đó thằng nào cần static thì sẽ set static ở DHCP server => Leases . Nhưng mà cách này thì các IP static và IP thường nó lẫn vào nhau khó kiểm soát.

Em đang tìm cách để tạo 1 Address nữa là 10.0.0.1/24 để nhét hết đống cần Static IP đấy vào dải 10.0.0.x . Khi nào có 1 thiết bị mới connect, nó sẽ nhảy vào 192.168.1.x trước. Rồi mình sẽ vào sửa nó về 10.0.0.x .

Nhờ các bác hướng dẫn em cách làm với ạ. Em làm thử mà nó không chạy được =((
bác đặt pool cấp ip ngắn lại là được mà, vd như dhcp server sẽ cấp ip từ 192.168.1.100 đến 192.168.1.254, còn lại bác set ip tĩnh trong khoảng 192.168.1.2 đến 192.168.1.99 là xong, đâu cần phải 2 dãy ip làm gì. còn nếu cần ip cho nhiều thiết bị hơn thì tăng subnetmark lên
 
Hi các bác, em hiện có 1 hệ thống mạng tầm 500 user truy cập cùng lúc, e hiện đang có 6 line mạng, và đang cân bằng tải 6 line mạng đó thành công rồi ạ.
giờ em muốn mở port ra thì em phải chỉ định ip của 1 line mạng hay là có cơ chế nào để port forwading ko ạ
 
bác đặt pool cấp ip ngắn lại là được mà, vd như dhcp server sẽ cấp ip từ 192.168.1.100 đến 192.168.1.254, còn lại bác set ip tĩnh trong khoảng 192.168.1.2 đến 192.168.1.99 là xong, đâu cần phải 2 dãy ip làm gì. còn nếu cần ip cho nhiều thiết bị hơn thì tăng subnetmark lên
Thanks bác nhiều ạ. Đơn giản mà hiệu quả :adore:
 
Hi các bác nào quay nhiều pppoe ở TP.HCM hay không, sao mình quay được có 9 cái, đến cái thứ 10 là pppoe không hiện chữ R toàn thấy disconnect không à
 
1000001444.jpg
 
Chào mọi người,

Mình có nhu cầu như sau, mọi người ai có thể gợi ý giúp xem khả thi không nha:
Mình muốn Tivi đó mỗi lần kết nối vào mạng chỉ sử dụng được Internet tối đa 1 tiếng là router tự drop kết nối, phải 3 tiếng sau mới coi lại được, và cũng coi được 1 tiếng là lại drop, đợi tiếp 3 tiếng sau....

Hiện tại mình đang tạm work around bằng cách set firewall rule drop internet theo từng khung giờ, sẽ có nhiều rule giống nhau và chỉ khác khung giờ. Nhưng như vậy mình thấy tương đối fix cứng cho người coi Tivi, mình chỉ muốn giới hạn 1 ngày coi tối đa bao nhiêu tiếng Youtube trên Tivi thôi.

Người coi chủ yếu là con mình, nên mình muốn hạn chế cho con mình.
 
Chào mọi người,

Mình có nhu cầu như sau, mọi người ai có thể gợi ý giúp xem khả thi không nha:
Mình muốn Tivi đó mỗi lần kết nối vào mạng chỉ sử dụng được Internet tối đa 1 tiếng là router tự drop kết nối, phải 3 tiếng sau mới coi lại được, và cũng coi được 1 tiếng là lại drop, đợi tiếp 3 tiếng sau....

Hiện tại mình đang tạm work around bằng cách set firewall rule drop internet theo từng khung giờ, sẽ có nhiều rule giống nhau và chỉ khác khung giờ. Nhưng như vậy mình thấy tương đối fix cứng cho người coi Tivi, mình chỉ muốn giới hạn 1 ngày coi tối đa bao nhiêu tiếng Youtube trên Tivi thôi.

Người coi chủ yếu là con mình, nên mình muốn hạn chế cho con mình.
như mình làm thì sẽ dùng thẻ raw để lấy ip từ những domain của youtube, ghi vào address list, còn lại là block addrest list này theo giờ. cách nữa là bind ip mac cho cái tivi đó, sau đó block cái ip đó theo khung giờ thôi. còn vụ 1h xem xong 3h tiếp theo drop thì mình chưa nghĩ làm sao được, hóng thêm các cao nhân thôi
 
như mình làm thì sẽ dùng thẻ raw để lấy ip từ những domain của youtube, ghi vào address list, còn lại là block addrest list này theo giờ. cách nữa là bind ip mac cho cái tivi đó, sau đó block cái ip đó theo khung giờ thôi. còn vụ 1h xem xong 3h tiếp theo drop thì mình chưa nghĩ làm sao được, hóng thêm các cao nhân thôi
Bind IP MAC address, và Youtube list cho vào Address list, mình cũng đang sử dụng như bạn ghi á, mà giờ mình drop luôn connection theo khung giờ, khỏi xét có phải từ youtube hay không nữa cho gọn.
1716909345630.png
Mình search thấy có tab extra, có mấy setting limit, dst limit expired, mà đọc cũng chưa hiểu lắm. Đợi cao nhân gợi ý thêm.
1716909376722.png
 
Bind IP MAC address, và Youtube list cho vào Address list, mình cũng đang sử dụng như bạn ghi á, mà giờ mình drop luôn connection theo khung giờ, khỏi xét có phải từ youtube hay không nữa cho gọn.
View attachment 2516968Mình search thấy có tab extra, có mấy setting limit, dst limit expired, mà đọc cũng chưa hiểu lắm. Đợi cao nhân gợi ý thêm.
View attachment 2516969
Thím viết cái scripts cộng dồn thời gian xem youtube. Cộng được 1 h xem thì drop 3h. Xong mở lại. Khi nào nó xem youtube thì countup thời gian, đủ lại khóa.
Thằng ku nhà mình khóa cả hai youtube và roblox. Chơi đủ 1 h, khóa 2h.
 

Attachments

  • Screenshot_20240528-230156.png
    Screenshot_20240528-230156.png
    353.4 KB · Views: 11
Thím viết cái scripts cộng dồn thời gian xem youtube. Cộng được 1 h xem thì drop 3h. Xong mở lại. Khi nào nó xem youtube thì countup thời gian, đủ lại khóa.
Thằng ku nhà mình khóa cả hai youtube và roblox. Chơi đủ 1 h, khóa 2h.
trước hình như thím viết cái script này thì phải
 
Thím viết cái scripts cộng dồn thời gian xem youtube. Cộng được 1 h xem thì drop 3h. Xong mở lại. Khi nào nó xem youtube thì countup thời gian, đủ lại khóa.
Thằng ku nhà mình khóa cả hai youtube và roblox. Chơi đủ 1 h, khóa 2h.
Cảm ơn bạn, để mình theo gợi ý này google thêm.
 
Thím viết cái scripts cộng dồn thời gian xem youtube. Cộng được 1 h xem thì drop 3h. Xong mở lại. Khi nào nó xem youtube thì countup thời gian, đủ lại khóa.
Thằng ku nhà mình khóa cả hai youtube và roblox. Chơi đủ 1 h, khóa 2h.
Mình cũng đang có nhu cầu này, thím share giúp script được ko
Bọn trẻ con nghỉ hè rồi đáng ngại quá
 
Mình cũng đang có nhu cầu này, thím share giúp script được ko
Bọn trẻ con nghỉ hè rồi đáng ngại quá
thím chạy 2 cái scripts:
Code:
global YoutubeTimer
global YoutubeMaxTime 3600
global YoutubeInterval 7200
global YoutubeDelayFlag 0
global YoutubeDelayTimer

global RobloxTimer
global RobloxMaxTime 3600
global RobloxInterval 7200
global RobloxDelayFlag 0
global RobloxDelayTimer

global YoutubeIpTarget "10.50.1.11"
global FilterChainFlag 0

while (1) do={

 do {

  ########## Add Filter
  if ( [len [/ip firewall filter find comment=($YoutubeIpTarget."-"."ALL")]] !=1) do={
   if ($FilterChainFlag !=1) do={ set FilterChainFlag 1}
  }
  if ( [len [/ip firewall filter find comment=($YoutubeIpTarget."-"."YOUTUBE")]] !=1) do={
   if ($FilterChainFlag !=1) do={ set FilterChainFlag 1}
  }
  if ( [len [/ip firewall filter find comment=($YoutubeIpTarget."-"."ROBLOX1")]] !=1) do={
   if ($FilterChainFlag !=1) do={ set FilterChainFlag 1}
  }
  if ( [len [/ip firewall filter find comment=($YoutubeIpTarget."-"."ROBLOX2")]] !=1) do={
   if ($FilterChainFlag !=1) do={ set FilterChainFlag 1}
  }
 if ($FilterChainFlag =1) do={
  /ip firewall filter remove [find comment~("-"."ALL")]
   delay 1s
   /ip firewall filter add action=drop chain=forward comment=($YoutubeIpTarget."-"."ALL") disabled=yes dst-address=!10.50.1.1 src-address=$YoutubeIpTarget place-before=0

   /ip firewall filter remove [find comment~("-"."YOUTUBE")]
   delay 1s
   /ip firewall filter add action=drop chain=forward comment=($YoutubeIpTarget."-"."YOUTUBE") disabled=yes dst-address=!10.50.1.1 dst-address-list="IP YOUTUBE"  src-address=$YoutubeIpTarget place-before=0

   /ip firewall filter remove [find comment~("-"."ROBLOX1")]
   delay 1s
   /ip firewall filter add action=drop chain=forward comment=($YoutubeIpTarget."-"."ROBLOX1") disabled=yes dst-address=!10.50.1.1 dst-address-list="IP ROBLOX" src-address=$YoutubeIpTarget place-before=0

   /ip firewall filter remove [find comment~("-"."ROBLOX2")]
   delay 1s
   /ip firewall filter add action=drop chain=forward comment=($YoutubeIpTarget."-"."ROBLOX2") disabled=yes dst-address=$YoutubeIpTarget src-address-list="IP ROBLOX" place-before=0
 
  set FilterChainFlag 0

  }

 } on-error={ log info "LOI THUC THI GHI XOA FILTER" }

 do {

  ########## Filter rules
  if ( [/system clock get time] > 05:58:00 and [/system clock get time] < 06:00:00 ) do={
   if ( $YoutubeTimer > 50 ) do={set YoutubeTimer 1}
   if ( $RobloxTimer > 50 ) do={set RobloxTimer 1}
  }
  if ( $YoutubeTimer > $YoutubeMaxTime ) do={
   if ( $YoutubeDelayFlag !=1) do={ set YoutubeDelayFlag 1}
   if ([/ip firewall filter get [find comment=($YoutubeIpTarget."-"."YOUTUBE")] disabled]=true ) do={
    /ip firewall filter enable [find comment=($YoutubeIpTarget."-"."YOUTUBE")]
    log info "Drop YOUTUBE - IP: $YoutubeIpTarget"
   }
  }
  if ($RobloxTimer > $RobloxMaxTime ) do={
   if ( $RobloxDelayFlag !=1) do={ set RobloxDelayFlag 1}
   if ( [/ip firewall filter get [find comment=($YoutubeIpTarget."-"."ROBLOX1")] disabled]=true ) do={ /ip firewall filter enable [find comment=($YoutubeIpTarget."-"."ROBLOX1")] }
   if ( [/ip firewall filter get [find comment=($YoutubeIpTarget."-"."ROBLOX2")] disabled]=true ) do={
    /ip firewall filter enable [find comment=($YoutubeIpTarget."-"."ROBLOX2")]
    log info "Drop ROBLOX - IP: $YoutubeIpTarget"
   }
  }
  if ( $YoutubeDelayFlag=1 ) do={ set YoutubeDelayTimer ($YoutubeDelayTimer+1)}
  if ( $RobloxDelayFlag=1 ) do={ set RobloxDelayTimer ($RobloxDelayTimer+1) }

  if ( $YoutubeDelayTimer > $YoutubeInterval ) do={
   if ( $YoutubeDelayFlag !=0) do={ set YoutubeDelayFlag 0}
   set YoutubeDelayTimer 1
   set YoutubeTimer 1
  }
  if ( $YoutubeTimer < $YoutubeMaxTime ) do={
   if ([/ip firewall filter get [find comment=($YoutubeIpTarget."-"."YOUTUBE")] disabled]=false ) do={
    /ip firewall filter disable [find comment=($YoutubeIpTarget."-"."YOUTUBE")]
    log info "Accept YOUTUBE - IP: $YoutubeIpTarget"
   }
  }
  if ( $RobloxDelayTimer > $RobloxInterval ) do={
   if ( $RobloxDelayFlag !=0) do={ set RobloxDelayFlag 0}
   set RobloxDelayTimer 1
   set RobloxTimer 1
  }
  if ( $RobloxTimer < $RobloxMaxTime ) do={
   if ([/ip firewall filter get [find comment=($YoutubeIpTarget."-"."ROBLOX1")] disabled]=false ) do={ /ip firewall filter disable [find comment=($YoutubeIpTarget."-"."ROBLOX1")] }
   if ([/ip firewall filter get [find comment=($YoutubeIpTarget."-"."ROBLOX2")] disabled]=false ) do={
    /ip firewall filter disable [find comment=($YoutubeIpTarget."-"."ROBLOX2")]
    log info "Accept ROBLOX - IP: $YoutubeIpTarget"
   }
  }
  if ( [/ip firewall filter get [find comment=($YoutubeIpTarget."-"."YOUTUBE")] disabled]=false and [/ip firewall filter get [find comment=($YoutubeIpTarget."-"."ROBLOX1")] disabled]=false ) do={
   /ip firewall filter set [find comment=($YoutubeIpTarget."-"."ALL") disabled=yes ] disabled=no
  } else={
     /ip firewall filter set [find comment=($YoutubeIpTarget."-"."ALL") disabled=no ] disabled=yes
  }

 } on-error={ log info "LOI THUC THI DEM SO" }

 delay 1s

}
Code:
global YoutubeTimer
global YoutubeDelayFlag 0

global RobloxTimer
global RobloxDelayFlag 0

global YoutubeIpTarget

while ( 1 ) do={

 ########## Timer Countup
  if ( $YoutubeDelayFlag=0) do={
   if ( [len [/ ip firewall connection find where src-address~($YoutubeIpTarget.":") connection-mark="youtube-conn" protocol=udp timeout>150s ]] > 0 ) do={
    set YoutubeTimer ($YoutubeTimer+1)
   }
  }

  if ( $RobloxDelayFlag=0) do={
   if ( [len [/ ip firewall connection find where src-address~($YoutubeIpTarget.":") connection-mark="roblox-conn" protocol=tcp timeout>86390s ]] > 0 ) do={
    set RobloxTimer ($RobloxTimer+1)
   }
  }
 delay 1s
}
Thím thay 10.50.1.11 bằng IP LAN thiết bị cần chặn
10.50.1.1 bằng IP router mik
 

Attachments

  • H1.jpg
    H1.jpg
    37.6 KB · Views: 11
  • H2.jpg
    H2.jpg
    172.7 KB · Views: 17
  • H3.jpg
    H3.jpg
    58.4 KB · Views: 8
Bác nào có firmware huawei cho cái sfp gpon ODI DFP-34X-2C2 có thể share cho em với được không ạ, đang chạy fw gốc không quay được pppoe ạ, em cảm ơn
 
thím chạy 2 cái scripts:
Code:
global YoutubeTimer
global YoutubeMaxTime 3600
global YoutubeInterval 7200
global YoutubeDelayFlag 0
global YoutubeDelayTimer

global RobloxTimer
global RobloxMaxTime 3600
global RobloxInterval 7200
global RobloxDelayFlag 0
global RobloxDelayTimer

global YoutubeIpTarget "10.50.1.11"
global FilterChainFlag 0

while (1) do={

 do {

  ########## Add Filter
  if ( [len [/ip firewall filter find comment=($YoutubeIpTarget."-"."ALL")]] !=1) do={
   if ($FilterChainFlag !=1) do={ set FilterChainFlag 1}
  }
  if ( [len [/ip firewall filter find comment=($YoutubeIpTarget."-"."YOUTUBE")]] !=1) do={
   if ($FilterChainFlag !=1) do={ set FilterChainFlag 1}
  }
  if ( [len [/ip firewall filter find comment=($YoutubeIpTarget."-"."ROBLOX1")]] !=1) do={
   if ($FilterChainFlag !=1) do={ set FilterChainFlag 1}
  }
  if ( [len [/ip firewall filter find comment=($YoutubeIpTarget."-"."ROBLOX2")]] !=1) do={
   if ($FilterChainFlag !=1) do={ set FilterChainFlag 1}
  }
 if ($FilterChainFlag =1) do={
  /ip firewall filter remove [find comment~("-"."ALL")]
   delay 1s
   /ip firewall filter add action=drop chain=forward comment=($YoutubeIpTarget."-"."ALL") disabled=yes dst-address=!10.50.1.1 src-address=$YoutubeIpTarget place-before=0

   /ip firewall filter remove [find comment~("-"."YOUTUBE")]
   delay 1s
   /ip firewall filter add action=drop chain=forward comment=($YoutubeIpTarget."-"."YOUTUBE") disabled=yes dst-address=!10.50.1.1 dst-address-list="IP YOUTUBE"  src-address=$YoutubeIpTarget place-before=0

   /ip firewall filter remove [find comment~("-"."ROBLOX1")]
   delay 1s
   /ip firewall filter add action=drop chain=forward comment=($YoutubeIpTarget."-"."ROBLOX1") disabled=yes dst-address=!10.50.1.1 dst-address-list="IP ROBLOX" src-address=$YoutubeIpTarget place-before=0

   /ip firewall filter remove [find comment~("-"."ROBLOX2")]
   delay 1s
   /ip firewall filter add action=drop chain=forward comment=($YoutubeIpTarget."-"."ROBLOX2") disabled=yes dst-address=$YoutubeIpTarget src-address-list="IP ROBLOX" place-before=0
 
  set FilterChainFlag 0

  }

 } on-error={ log info "LOI THUC THI GHI XOA FILTER" }

 do {

  ########## Filter rules
  if ( [/system clock get time] > 05:58:00 and [/system clock get time] < 06:00:00 ) do={
   if ( $YoutubeTimer > 50 ) do={set YoutubeTimer 1}
   if ( $RobloxTimer > 50 ) do={set RobloxTimer 1}
  }
  if ( $YoutubeTimer > $YoutubeMaxTime ) do={
   if ( $YoutubeDelayFlag !=1) do={ set YoutubeDelayFlag 1}
   if ([/ip firewall filter get [find comment=($YoutubeIpTarget."-"."YOUTUBE")] disabled]=true ) do={
    /ip firewall filter enable [find comment=($YoutubeIpTarget."-"."YOUTUBE")]
    log info "Drop YOUTUBE - IP: $YoutubeIpTarget"
   }
  }
  if ($RobloxTimer > $RobloxMaxTime ) do={
   if ( $RobloxDelayFlag !=1) do={ set RobloxDelayFlag 1}
   if ( [/ip firewall filter get [find comment=($YoutubeIpTarget."-"."ROBLOX1")] disabled]=true ) do={ /ip firewall filter enable [find comment=($YoutubeIpTarget."-"."ROBLOX1")] }
   if ( [/ip firewall filter get [find comment=($YoutubeIpTarget."-"."ROBLOX2")] disabled]=true ) do={
    /ip firewall filter enable [find comment=($YoutubeIpTarget."-"."ROBLOX2")]
    log info "Drop ROBLOX - IP: $YoutubeIpTarget"
   }
  }
  if ( $YoutubeDelayFlag=1 ) do={ set YoutubeDelayTimer ($YoutubeDelayTimer+1)}
  if ( $RobloxDelayFlag=1 ) do={ set RobloxDelayTimer ($RobloxDelayTimer+1) }

  if ( $YoutubeDelayTimer > $YoutubeInterval ) do={
   if ( $YoutubeDelayFlag !=0) do={ set YoutubeDelayFlag 0}
   set YoutubeDelayTimer 1
   set YoutubeTimer 1
  }
  if ( $YoutubeTimer < $YoutubeMaxTime ) do={
   if ([/ip firewall filter get [find comment=($YoutubeIpTarget."-"."YOUTUBE")] disabled]=false ) do={
    /ip firewall filter disable [find comment=($YoutubeIpTarget."-"."YOUTUBE")]
    log info "Accept YOUTUBE - IP: $YoutubeIpTarget"
   }
  }
  if ( $RobloxDelayTimer > $RobloxInterval ) do={
   if ( $RobloxDelayFlag !=0) do={ set RobloxDelayFlag 0}
   set RobloxDelayTimer 1
   set RobloxTimer 1
  }
  if ( $RobloxTimer < $RobloxMaxTime ) do={
   if ([/ip firewall filter get [find comment=($YoutubeIpTarget."-"."ROBLOX1")] disabled]=false ) do={ /ip firewall filter disable [find comment=($YoutubeIpTarget."-"."ROBLOX1")] }
   if ([/ip firewall filter get [find comment=($YoutubeIpTarget."-"."ROBLOX2")] disabled]=false ) do={
    /ip firewall filter disable [find comment=($YoutubeIpTarget."-"."ROBLOX2")]
    log info "Accept ROBLOX - IP: $YoutubeIpTarget"
   }
  }
  if ( [/ip firewall filter get [find comment=($YoutubeIpTarget."-"."YOUTUBE")] disabled]=false and [/ip firewall filter get [find comment=($YoutubeIpTarget."-"."ROBLOX1")] disabled]=false ) do={
   /ip firewall filter set [find comment=($YoutubeIpTarget."-"."ALL") disabled=yes ] disabled=no
  } else={
     /ip firewall filter set [find comment=($YoutubeIpTarget."-"."ALL") disabled=no ] disabled=yes
  }

 } on-error={ log info "LOI THUC THI DEM SO" }

 delay 1s

}
Code:
global YoutubeTimer
global YoutubeDelayFlag 0

global RobloxTimer
global RobloxDelayFlag 0

global YoutubeIpTarget

while ( 1 ) do={

 ########## Timer Countup
  if ( $YoutubeDelayFlag=0) do={
   if ( [len [/ ip firewall connection find where src-address~($YoutubeIpTarget.":") connection-mark="youtube-conn" protocol=udp timeout>150s ]] > 0 ) do={
    set YoutubeTimer ($YoutubeTimer+1)
   }
  }

  if ( $RobloxDelayFlag=0) do={
   if ( [len [/ ip firewall connection find where src-address~($YoutubeIpTarget.":") connection-mark="roblox-conn" protocol=tcp timeout>86390s ]] > 0 ) do={
    set RobloxTimer ($RobloxTimer+1)
   }
  }
 delay 1s
}
Thím thay 10.50.1.11 bằng IP LAN thiết bị cần chặn
10.50.1.1 bằng IP router mik
Cám ơn thím rất nhiều
 
Back
Top