公司的一個ros需求創建10個ssid,走10根pptp線路,同時更換mac


公司的一個ros需求創建10個ssid,走10根pptp線路,同時更換mac

紅色的部分,是你要創建10個ssid的編號。從1到10一共10個。順序不能變。

foreach y in={[/interface wireless find where interface-type=virtual]} do={/interface wireless remove $y};

foreach y in={[/ip address find address ~ "172.16"]} do={/ip address remove $y};
foreach y in={[/ip pool find ranges ~ "172.16"]} do={/ip pool remove $y};
foreach y in={[/ip dhcp-server find name ~ "A"]} do={/ip dhcp-server remove $y};
foreach y in={[/ip dhcp-server network find address ~ "172.16"]} do={/ip dhcp-server network remove $y};
foreach y in={[/certificate scep-server otp find]} do={/certificate scep-server otp remove $y};

:global oo [/ip firewall mangle find];
:global cc [/ip firewall nat find];
:global jj 0;

:for i from=21 to=30 do={
:global mac1 [/certificate scep-server otp generate minutes-valid=1 as-value] ;
:global mac2 ($mac1->"password");
:global mac [:pick $mac2 0 12];
:global ssid ("A". $i);
:global wlname ("A". $i);
:log error ("正在創建ssid" . $ssid);

/interface wireless add master-interface=wlan2 ssid=$ssid mac-address=$mac name=$wlname security-profile="profile1" default-forwarding=no disabled=no wps-mode=disabled;

/ip address add address=("172.168." . $i . ".1/24" ) interface=$wlname;

/ip pool add ranges=("172.168." .$i .".100-172.168.". $i.".200") name=$wlname;

/ip dhcp-server add name=$wlname address-pool=$wlname interface=$wlname disa=no;

/ip dhcp-server network add address=("172.168.". $i .".0/24") dns-server=114.114.114.114 gateway=("172.168." .$i. ".1") netmask=24;

/ip firewall mangle set ($oo->$jj) src-address=("172.168.".$i.".0/24");

/ip firewall nat set ($cc->$jj) src-address=("172.168.".$i.".0/24");

set $jj ($jj+1);

}

 今天發現一個問題,創建了10個虛擬SSID,小米手機都可以搜索到。但是華為或者一些其他品牌的就只能搜索到幾個,原因是mac不能隨意,必須用原有的無線網卡的mac來更改,就是華為等手機只能識別正確的真實存在的網絡廠家的mac。

foreach y in={[/interface wireless find where interface-type=virtual]} do={/interface wireless remove $y};
foreach y in={[/ip address find address ~ "172.16"]} do={/ip address remove $y};
foreach y in={[/ip pool find ranges ~ "172.16"]} do={/ip pool remove $y};
foreach y in={[/ip dhcp-server find name ~ "A"]} do={/ip dhcp-server remove $y};
foreach y in={[/ip dhcp-server network find address ~ "172.16"]} do={/ip dhcp-server network remove $y};

:global oo [/ip firewall mangle find];
:global cc [/ip firewall nat find];
:global jj 0;

:for i from=1 to=10 do={
:global mac ([pick [/interface wireless get [/interface wireless find name=wlan1] mac-address ] 0 15] . [:pick $i ([:len $i] -2) [:len $i]]);
:global ssid ("A". $i);
:global wlname ("A". $i);
:log error ("正在創建ssid" . $ssid);

/interface wireless add master-interface=wlan2 ssid=$ssid mac-address=$mac name=$wlname security-profile="profile1" default-forwarding=no disabled=no wps-mode=disabled;

/ip address add address=("172.168." . $i . ".1/24" ) interface=$wlname;

/ip pool add ranges=("172.168." .$i .".100-172.168.". $i.".200") name=$wlname;

/ip dhcp-server add name=$wlname address-pool=$wlname interface=$wlname disa=no;

/ip dhcp-server network add address=("172.168.". $i .".0/24") dns-server=114.114.114.114 gateway=("172.168." .$i. ".1") netmask=24;

/ip firewall mangle set ($oo->$jj) src-address=("172.168.".$i.".0/24");

/ip firewall nat set ($cc->$jj) src-address=("172.168.".$i.".0/24");

set $jj ($jj+1);

/interface enable ("pptp" . $jj);

:log error ("重新撥號pptp" . $jj ."完畢!")

}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM