แก้ปัญหาตามนี้ครับ
Resolution
If you want to enable insecure guest access, you can configure the following Group Policy settings:
กด win+R ขึ้นหน้าจอ Run แล้ว พิมพ์ "gpedit.msc" ทำตามด้านล่างเลยครับ
Computer configuration\administrative templates\network\Lanman Workstation
"Enable insecure guest logons"
Note By enabling insecure guest logons, this setting reduces the security of Windows clients.
คราวนี้กด win+R แล้ว พิมพ์ชื่ออีกเครื่องครับ \\...
อ้างอิง https://support.microsoft.com/en-us/help/4046019/guest-access-smb2-disabled-by-default-in-windows-10-server-2016
วันพฤหัสบดีที่ 2 พฤษภาคม พ.ศ. 2562
วันอังคารที่ 9 เมษายน พ.ศ. 2562
Wireless LAN Channel mikrotk
เรื่องนี้มันร่ายยาวมากครับ
ก่อนอื่นต้องทำความเข้าใจก่อน ว่าตัวแปรในการเขื่อมต่อ Wireless LAN ให้ได้ความเร็วมันมีอยู่ดังนี้
1 Channel Width
2. Modulation
Channel width ก็คือตรงความกว้างของความถี่ที่คุณเปิดนี่แหละครับ คิดซะว่าเหมือนถนนละกัน
ถนน 5Mhz กับ 10Mhz นี่แทบไม่ใช้แล้ว อยู่แค่ใน WIFI 802.11 a/b เองมั้ง
ปัจจุบันต่ำสุด ก็ 20Mhz นะครับ
2. คือ Modulation อื้มมม พูดแล้วเข้าใจยาก คิดซะว่ามันคือ กระบวนการ zip ข้อมูลใ้ห้เล็กๆแล้วส่งไปกับคลื่นละกันนะครับ ยิ่ง Modulation สูงๆ ก็ยิ่งขน Data ไปได้เยอะ ก็เหมือนกับ ขนของบนรถกระบะชั้นเดียว กับรถกระบะ 2 ชั้นอ่ะครับ พื้นที่เท่ากัน แต่ขนของไปได้เยอะกว่า
ดังนั้น ถ้าถนนกว้าง และ รถขนของไปได้เยอะ ก็จะทำให้ ส่ง data ไปให้มาก ต่อ เวลาที่จำกัดนั่นเอง
แล้ว eC หรือ Ce หรือ eCee , Ceee พวกนี้คืออะไร
ในมาตรฐานของ WIFI N มีการเอา MIMO มาใช้งาน มันคือ Multiple Input Multiple Output ครับ
ถ้าถนน 20Mhz ขนของได้เท่านี้
งั้นถนน 40Mhz ก็ขนของได้มากขึ้นสิ
พอมีการประกบถนนให้ยาวขึ้น
ก็ต้องมีการกำหนด Control Channel ว่าจะอยู่ตรงไหน หรือก็คือ ค่า C นั่นแหละครับ
ถ้า Ce ก็คือ 40Mhz นั่นคือหมาย 20+20 Mhz แล้วให้ Control Channel อยู่ใน Channel ที่ต่ำกว่า หรือ Channel ซ้ายนั่นเองครับ
Ceee ก็คือ 80mhz แล้วก็ให้ Control Channel อยู่ซ้ายสุด
นั่นแหละครับ
อ.ศุภเดช เคยบอกไว้แล้วครับ
ก่อนอื่นต้องทำความเข้าใจก่อน ว่าตัวแปรในการเขื่อมต่อ Wireless LAN ให้ได้ความเร็วมันมีอยู่ดังนี้
1 Channel Width
2. Modulation
Channel width ก็คือตรงความกว้างของความถี่ที่คุณเปิดนี่แหละครับ คิดซะว่าเหมือนถนนละกัน
ถนน 5Mhz กับ 10Mhz นี่แทบไม่ใช้แล้ว อยู่แค่ใน WIFI 802.11 a/b เองมั้ง
ปัจจุบันต่ำสุด ก็ 20Mhz นะครับ
2. คือ Modulation อื้มมม พูดแล้วเข้าใจยาก คิดซะว่ามันคือ กระบวนการ zip ข้อมูลใ้ห้เล็กๆแล้วส่งไปกับคลื่นละกันนะครับ ยิ่ง Modulation สูงๆ ก็ยิ่งขน Data ไปได้เยอะ ก็เหมือนกับ ขนของบนรถกระบะชั้นเดียว กับรถกระบะ 2 ชั้นอ่ะครับ พื้นที่เท่ากัน แต่ขนของไปได้เยอะกว่า
ดังนั้น ถ้าถนนกว้าง และ รถขนของไปได้เยอะ ก็จะทำให้ ส่ง data ไปให้มาก ต่อ เวลาที่จำกัดนั่นเอง
แล้ว eC หรือ Ce หรือ eCee , Ceee พวกนี้คืออะไร
ในมาตรฐานของ WIFI N มีการเอา MIMO มาใช้งาน มันคือ Multiple Input Multiple Output ครับ
ถ้าถนน 20Mhz ขนของได้เท่านี้
งั้นถนน 40Mhz ก็ขนของได้มากขึ้นสิ
พอมีการประกบถนนให้ยาวขึ้น
ก็ต้องมีการกำหนด Control Channel ว่าจะอยู่ตรงไหน หรือก็คือ ค่า C นั่นแหละครับ
ถ้า Ce ก็คือ 40Mhz นั่นคือหมาย 20+20 Mhz แล้วให้ Control Channel อยู่ใน Channel ที่ต่ำกว่า หรือ Channel ซ้ายนั่นเองครับ
Ceee ก็คือ 80mhz แล้วก็ให้ Control Channel อยู่ซ้ายสุด
นั่นแหละครับ
อ.ศุภเดช เคยบอกไว้แล้วครับ
วันอังคารที่ 5 มีนาคม พ.ศ. 2562
freeddns
:global AfraidUser "user_name"
:global AfraidPass "password"
:global WANInter "interface_name"
:global AfraidDomain "domain_name"
:global IpCurrent [/ip address get [find interface=$WANInter] address];
:for i from=( [:len $IpCurrent] - 1) to=0 do={
:if ( [:pick $IpCurrent $i] = "/") do={
:global NewIP [:pick $IpCurrent 0 $i];
:if ([:resolve $AfraidDomain] != $NewIP) do={
/tool fetch mode=http url="fetchable_URL_goes_here" keep-result=no
:log info "Afraid.org Update: $AfraidDomain - $NewIP"
} else={
:log info "Afraid.org: don't need updates";
}
}
}
http://freedns.afraid.org
วันจันทร์ที่ 3 ธันวาคม พ.ศ. 2561
Dynu Script mikrotik
# get the current IP address from the internet
/tool fetch mode=http address="checkip.dynu.com" src-path="/"
dst-path="/dynu.checkip.html"
:local result [/file get dynu.checkip.html contents]
# parse the current IP result
:local resultLen [:len $result]
:local startLoc [:find $result ": " -1]
:set startLoc ($startLoc + 2)
:local currentIP [:pick $result $startLoc $resultLen]
:global ddnsuser your_Dynu_username
:global ddnspass "your_Dynu_password"
:global ddnshost "your_Dynu_hostname"
:global ipddns [:resolve $ddnshost];
#:global ipddns
:if ($ipddns != $currentIP) do={
:log info ("DynuDDNS: IP-Dynu = $ipddns")
:log info ("DynuDDNS: IP-Fresh = $currentIP")
:log info "DynuDDNS: Update IP needed, Sending UPDATE...!"
:global str "/nic/update?hostname=$ddnshost&myip=$currentIP"
:log info "currentIP is $currentIP"
/tool fetch address=api.dynu.com src-path=$str mode=http user=$ddnsuser password=$ddnspass
dst-path=("/Dynu.".$ddnshost)
:delay 1
:global str [/file find name="Dynu.$ddnshost"];
/file remove $str
:global ipddns $currentIP
:log info "DynuDDNS: IP updated to $currentIP!"
} else={
:log info "DynuDDNS: No change needed";
}
/system script
add name=Dynu
policy=read,write,test
source=":global ddnsuser your_Dynu_username
:global ddnspass "your_Dynu_password"
:global theinterface "WAN_Interface_Name"
:global ddnshost "your_Dynu_hostname"
:global ipddns [:resolve $ddnshost];
:global ipfresh [ /ip address get [/ip address find interface=$theinterface ] address ]
:if ([ :typeof $ipfresh ] = nil ) do={
:log info ("DynuDDNS: No IP address on $theinterface .")
} else={
:for i from=( [:len $ipfresh] - 1) to=0 do={
:if ( [:pick $ipfresh $i] = "/") do={
:set ipfresh [:pick $ipfresh 0 $i];
}
}
:if ($ipddns != $ipfresh) do={
:log info ("DynuDDNS: IP-Dynu = $ipddns")
:log info ("DynuDDNS: IP-Fresh = $ipfresh")
:log info "DynuDDNS: Update IP needed, Sending UPDATE...!"
:global str "/nic/update?hostname=$ddnshost&myip=$ipfresh"
/tool fetch address=api.dynu.com src-path=$str mode=http user=$ddnsuser password=$ddnspass dst-path=("/Dynu.".$ddnshost)
:delay 1
:global str [/file find name="Dynu.$ddnshost"];
/file remove $str
:global ipddns $ipfresh
:log info "DynuDDNS: IP updated to $ipfresh!"
} else={
:log info "DynuDDNS: dont need changes";
} }"
/system scheduler add comment="Update Dynu DDNS" interval=5m name=ddns_sheduller \
on-event="/system script run Dynu\r\n" policy=read,write,test start-time=startup
///////////////work
# get the current IP address from the internet
/tool fetch mode=http address="checkip.dynu.com" src-path="/" dst-path="/dynu.checkip.html"
:local result [/file get dynu.checkip.html contents]
# parse the current IP result
:local resultLen [:len $result]
:local startLoc [:find $result ": " -1]
:set startLoc ($startLoc + 2)
:local currentIP [:pick $result $startLoc $resultLen]
:global ddnsuser "user"
:global ddnspass "pass"
:global ddnshost "host"
:global ipddns [:resolve $ddnshost];
#:global ipddns
:if ($ipddns != $currentIP) do={
:log info ("DynuDDNS: IP-Dynu = $ipddns")
:log info ("DynuDDNS: IP-Fresh = $currentIP")
:log info "DynuDDNS: Update IP needed, Sending UPDATE...!"
:global str "/nic/update?hostname=$ddnshost&myip=$currentIP"
:log info "currentIP is $currentIP"
/tool fetch address=api.dynu.com src-path=$str mode=http user=$ddnsuser password=$ddnspass dst-path=("/Dynu.".$ddnshost)
:delay 1
:global str [/file find name="Dynu.$ddnshost"];
/file remove $str
:global ipddns $currentIP
:log info "DynuDDNS: IP updated to $currentIP!"
} else={
:log info "DynuDDNS: No change needed";
}
/tool fetch mode=http address="checkip.dynu.com" src-path="/"
dst-path="/dynu.checkip.html"
:local result [/file get dynu.checkip.html contents]
# parse the current IP result
:local resultLen [:len $result]
:local startLoc [:find $result ": " -1]
:set startLoc ($startLoc + 2)
:local currentIP [:pick $result $startLoc $resultLen]
:global ddnsuser your_Dynu_username
:global ddnspass "your_Dynu_password"
:global ddnshost "your_Dynu_hostname"
:global ipddns [:resolve $ddnshost];
#:global ipddns
:if ($ipddns != $currentIP) do={
:log info ("DynuDDNS: IP-Dynu = $ipddns")
:log info ("DynuDDNS: IP-Fresh = $currentIP")
:log info "DynuDDNS: Update IP needed, Sending UPDATE...!"
:global str "/nic/update?hostname=$ddnshost&myip=$currentIP"
:log info "currentIP is $currentIP"
/tool fetch address=api.dynu.com src-path=$str mode=http user=$ddnsuser password=$ddnspass
dst-path=("/Dynu.".$ddnshost)
:delay 1
:global str [/file find name="Dynu.$ddnshost"];
/file remove $str
:global ipddns $currentIP
:log info "DynuDDNS: IP updated to $currentIP!"
} else={
:log info "DynuDDNS: No change needed";
}
/system script
add name=Dynu
policy=read,write,test
source=":global ddnsuser your_Dynu_username
:global ddnspass "your_Dynu_password"
:global theinterface "WAN_Interface_Name"
:global ddnshost "your_Dynu_hostname"
:global ipddns [:resolve $ddnshost];
:global ipfresh [ /ip address get [/ip address find interface=$theinterface ] address ]
:if ([ :typeof $ipfresh ] = nil ) do={
:log info ("DynuDDNS: No IP address on $theinterface .")
} else={
:for i from=( [:len $ipfresh] - 1) to=0 do={
:if ( [:pick $ipfresh $i] = "/") do={
:set ipfresh [:pick $ipfresh 0 $i];
}
}
:if ($ipddns != $ipfresh) do={
:log info ("DynuDDNS: IP-Dynu = $ipddns")
:log info ("DynuDDNS: IP-Fresh = $ipfresh")
:log info "DynuDDNS: Update IP needed, Sending UPDATE...!"
:global str "/nic/update?hostname=$ddnshost&myip=$ipfresh"
/tool fetch address=api.dynu.com src-path=$str mode=http user=$ddnsuser password=$ddnspass dst-path=("/Dynu.".$ddnshost)
:delay 1
:global str [/file find name="Dynu.$ddnshost"];
/file remove $str
:global ipddns $ipfresh
:log info "DynuDDNS: IP updated to $ipfresh!"
} else={
:log info "DynuDDNS: dont need changes";
} }"
/system scheduler add comment="Update Dynu DDNS" interval=5m name=ddns_sheduller \
on-event="/system script run Dynu\r\n" policy=read,write,test start-time=startup
///////////////work
# get the current IP address from the internet
/tool fetch mode=http address="checkip.dynu.com" src-path="/" dst-path="/dynu.checkip.html"
:local result [/file get dynu.checkip.html contents]
# parse the current IP result
:local resultLen [:len $result]
:local startLoc [:find $result ": " -1]
:set startLoc ($startLoc + 2)
:local currentIP [:pick $result $startLoc $resultLen]
:global ddnsuser "user"
:global ddnspass "pass"
:global ddnshost "host"
:global ipddns [:resolve $ddnshost];
#:global ipddns
:if ($ipddns != $currentIP) do={
:log info ("DynuDDNS: IP-Dynu = $ipddns")
:log info ("DynuDDNS: IP-Fresh = $currentIP")
:log info "DynuDDNS: Update IP needed, Sending UPDATE...!"
:global str "/nic/update?hostname=$ddnshost&myip=$currentIP"
:log info "currentIP is $currentIP"
/tool fetch address=api.dynu.com src-path=$str mode=http user=$ddnsuser password=$ddnspass dst-path=("/Dynu.".$ddnshost)
:delay 1
:global str [/file find name="Dynu.$ddnshost"];
/file remove $str
:global ipddns $currentIP
:log info "DynuDDNS: IP updated to $currentIP!"
} else={
:log info "DynuDDNS: No change needed";
}
วันอาทิตย์ที่ 2 ธันวาคม พ.ศ. 2561
change backup Vestacp
nano /usr/local/vesta/data/users/admin/user.conf
แก้ admin เป็น user แล้ว หา backup = 3 เปลี่ยน เป็น 1
วันพฤหัสบดีที่ 8 พฤศจิกายน พ.ศ. 2561
NewHost php 7 config
PHP7
nano /etc/php/7.0/apache2/php.ini
date.timezone = "Asia/Bangkok"
max_execution_time = 3600
max_input_time = 360
max_input_vars = 2000
memory_limit = 1024M
Backup
nano /usr/local/vesta/data/users/admin/user.conf
แก้ admin เป็น user แล้ว หา backup = 3 เปลี่ยน เป็น 1
LDAP
extension=php_ldap.dll
apt-get install php7.0-ldap (or use apt-get install php7.1-ldap )
service apache2 restart
cd /home/admin/conf/web
nano apache2.conf
+nano sapache2.conf
php_admin_value open_basedir none
php_admin_value upload_tmp_dir none
nano /etc/php/7.0/apache2/php.ini
date.timezone = "Asia/Bangkok"
max_execution_time = 3600
max_input_time = 360
max_input_vars = 2000
memory_limit = 1024M
Backup
nano /usr/local/vesta/data/users/admin/user.conf
แก้ admin เป็น user แล้ว หา backup = 3 เปลี่ยน เป็น 1
LDAP
extension=php_ldap.dll
apt-get install php7.0-ldap (or use apt-get install php7.1-ldap )
service apache2 restart
cd /home/admin/conf/web
nano apache2.conf
+nano sapache2.conf
php_admin_value open_basedir none
php_admin_value upload_tmp_dir none
วันจันทร์ที่ 5 พฤศจิกายน พ.ศ. 2561
Enabling SSH screenly Raspbeery
Enabling SSH
If you have installed via a newer NOOBS Installer SSH is disabled by default. To Enable it:
- Connect via the Console (
CTRL + ALT + F1) - Login using the default user name and password (
pi'raspberry`) - Execute
sudo raspi-config - Select
Interfacing Options - Navigate to and select
SSH - Choose
Yes - Select
Ok - Choose
Finish
You should now be able to SSH into the Pi
It is highly recommended that you change the default password if you intend to connect your Pi to the outside world.
สมัครสมาชิก:
บทความ (Atom)