知道NetBIOS協(xié)議嗎?許多用戶發(fā)現(xiàn)它們?cè)谛枰褂肗etBIOS協(xié)議時(shí)始終不打開NetBIOS協(xié)議。所以今天,小編為您提供了NetBIOS協(xié)議的詳細(xì)教程,我希望在閱讀本教程后不會(huì)打開的小伙子,了解如何打開NetBIOS協(xié)議。
什么是netbios?
NetBIOS,英文名稱是NetBIOS服務(wù)協(xié)議,中文解釋為:網(wǎng)絡(luò)基本輸入/輸出系統(tǒng)協(xié)議。
NetBIOS是連接到TCP / IP網(wǎng)絡(luò)協(xié)議的網(wǎng)絡(luò)協(xié)議。 NetBIOS屬于第五層,即會(huì)話層協(xié)議,用于在LAN中實(shí)現(xiàn)通信。
該角色是讓局域網(wǎng)中的其他計(jì)算機(jī)發(fā)現(xiàn)并在LAN中找到您的計(jì)算機(jī)。
在Windows操作系統(tǒng)中,默認(rèn)情況下,安裝TCP / IP協(xié)議后自動(dòng)安裝NetBIOS。
但是,不建議使用此功能,因?yàn)閰f(xié)議使用端口139。
對(duì)計(jì)算機(jī)安全有一定影響。
如何在Win10系統(tǒng)中啟用NetBIOS協(xié)議?
1.打開Win10設(shè)置,然后單擊內(nèi)部網(wǎng)絡(luò)和Internet。
2.在網(wǎng)絡(luò)和Internet接口上,單擊左側(cè)的以太網(wǎng)無線網(wǎng)絡(luò),單擊“WLAN”,然后單擊右側(cè)窗口中的“更改網(wǎng)絡(luò)適配器設(shè)置”。
3.在“網(wǎng)絡(luò)連接”窗口中,右鍵單擊以太網(wǎng),然后從菜單中選擇“屬性”。
4.在“以太網(wǎng)屬性”對(duì)話框中,單擊以選擇“Internet協(xié)議版本TCP / IPv4”,然后單擊下面的“屬性”按鈕。
5.在Internet協(xié)議版本TCP / IPv4屬性窗口中,單擊底部的高級(jí)按鈕。
6.在TCP / IP設(shè)置窗口中,單擊以切換到WINS選項(xiàng),然后單擊以選擇并啟用基于TCP / IP的NetBIOS,然后單擊以確認(rèn)。
今天抽時(shí)間折騰了一套無盤的 win10,簡(jiǎn)單來講,使用 ipxe 網(wǎng)絡(luò)啟動(dòng),將 win10 安裝到網(wǎng)絡(luò)的 iscsi 硬盤(存在服務(wù)器上的單獨(dú)文件)中,然后正常啟動(dòng)。這中間主要使用的幾個(gè)軟件工具及作用如下:
我用的 virtualbox 進(jìn)行的測(cè)試,virtualbox 中創(chuàng)建了 openwrt,ubuntu, wins 三個(gè)虛擬機(jī)。并且在同一個(gè)內(nèi)網(wǎng)中。openwrt 用來做網(wǎng)關(guān)和提供 dhcp 服務(wù),因此需要雙網(wǎng)卡。ubutu 我為了主機(jī)訪問文件方便,也弄了個(gè)雙網(wǎng)卡。具體的使用和配置可以從網(wǎng)上搜索。wins 配置從網(wǎng)絡(luò)啟動(dòng),不添加硬盤,不從 uefi 啟動(dòng)。
因?yàn)槲业?openwrt 僅僅提供基本的網(wǎng)絡(luò)服務(wù),因此其他的服務(wù)都是在 ubuntu 這個(gè)系統(tǒng)中的,包括 tftpd 服務(wù),因此需要將 tftpd 的訪問信息攔截并轉(zhuǎn)發(fā)到 ubuntu 中。dnsmasq YYDS!!。在/etc/dnsmasq.conf 中添加下面的內(nèi)容
dhcp-option-force=211,60i #這個(gè)好像是設(shè)置超時(shí)的
dhcp-option=option:tftp-server,192.168.1.127 #這個(gè)設(shè)置真實(shí)的tftp服務(wù)器的,這個(gè)ip就是ubuntu系統(tǒng)在內(nèi)網(wǎng)中的服務(wù)器,不能跨網(wǎng)段,本文中調(diào)到的這個(gè)ip需要換成實(shí)際的
dhcp-boot=ipxe/netboot.xyz.kpxe,192.168.1.127,192.168.1.127 #這個(gè)是bios方式的ipx啟動(dòng)文件,后面的是tftp服務(wù)對(duì)應(yīng)的域名和ip
dhcp-match=set:efi-x86_64,option:client-arch,7 #這兩行是efi啟動(dòng)方式,我沒有測(cè)試過
dhcp-boot=tag:efi-x86_64,ipxe/netboot.xyz.efi,192.168.1.127
下面這些其實(shí)都可以扔到 openwrt 中,只是我沒有想著擴(kuò)充 openwrt,好像硬盤只有 1G 還是多少的。ubuntu 系統(tǒng)安裝 docker, tgt。
apt-get -y remove docker docker-engine docker.io containerd runc
apt-get -y update
apt-get -y install ca-certificates curl gnupg lsb-release tgt
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
apt-get update -y
apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
#普通用戶想要執(zhí)行docker命令可以在普通用戶權(quán)限下運(yùn)行這個(gè)添加權(quán)限
#sudo usermod -aG docker $USER
ipxe 等服務(wù)的 docker 啟動(dòng)配置
version: '3'
services:
tftp:
image: pghalliday/tftp
restart: always
volumes:
- ./buildout/buildout:/var/tftpboot:rw
ports:
- "69:69/udp"
- "69:69/tcp"
logging:
driver: "json-file"
samba:
image: andyzhangx/samba:win-fix
command: "-r -w WORKGROUP -s \"share;/share;yes;no;yes;all;all\" "
restart: always
environment:
- TZ=CST6CDT
- NMBD=true
- FILEMASK=0777
- DIRECTORYMASK=0777
- FORCEGROUP=root
- FORCEUSER=root
- USERID=0
- GROUPID=0
volumes:
- /data:/share #/data中的目錄將被顯示在共享文件的share中
ports:
- "139:139"
- "445:445"
logging:
driver: "json-file"
web:
image: nginx:alpine
restart: always
ports:
- "80:80"
volumes:
- ./buildout:/var/www/html:rw
- /data:/var/www/html/buildout/iso:rw
- ./nginx-site.conf:/etc/nginx/conf.d/default.conf:rw
logging:
driver: "json-file"
配置中的 nginx 的配置文件:
server {
listen 80;
server_name localhost;
root /var/www/html/buildout;
index index.php index.html index.htm;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
client_max_body_size 512m;
client_body_buffer_size 512m;
autoindex on;
location / {
try_files $uri $uri/ /index.html;
}
}
roles/netbootxyz/files/ipxe/local/general.h 中添加如下配置,開啟 sanboot 相關(guān)功能
#define PXE_STACK /* PXE stack in iPXE - you want this! */
#define PXE_MENU /* PXE menu booting */
#define DOWNLOAD_PROTO_NFS /* Network File System Protocol */
#define SANBOOT_PROTO_ISCSI /* iSCSI protocol */
#define SANBOOT_PROTO_AOE /* AoE protocol */
#define SANBOOT_PROTO_IB_SRP /* Infiniband SCSI RDMA protocol */
#define SANBOOT_PROTO_FCP /* Fibre Channel protocol */
#define SANBOOT_PROTO_HTTP /* HTTP SAN protocol */
#define PXE_CMD /* PXE commands */
user_overrides.yml 中修改相關(guān)配置:
boot_domain: 192.168.1.127
bootloader_http_enabled: true
我寫了個(gè)小腳本來進(jìn)行 netbootxyz 的編譯:
#!/bin/bash
cd netboot.xyz
docker build -t localbuild -f Dockerfile .
docker run --rm -it -v $(pwd)/../buildout:/buildout localbuild
netbootxyz 構(gòu)建出的 menu.ipxe 中添加下面的內(nèi)容(我的在 buildout 目錄中):
#item --gap Default: 這行下面添加
item win10_boot ${space} win10_64_boot
item win10_install ${space} win10_64_install
#下面的添加到最后
:win10_boot
echo "boot win10 from iscsi"
set keep-san 1
#ip地址需要注意,對(duì)于默認(rèn)的tgt來說,iqn之前的冒號(hào)前有個(gè)1
sanboot iscsi:192.168.1.127:::1:iqn.rix.test.win:win10 || goto mainmenu
:win10_install
echo "install win10 to iscsi"
imgfree
set keep-san 1
sanhook iscsi:192.168.1.127:::1:iqn.rix.test.win:win10
kernel http://${boot_domain}/wimboot
initrd http://${boot_domain}/iso/win10/boot/bcd BCD
initrd http://${boot_domain}/iso/win10/boot/boot.sdi boot.sdi
initrd http://${boot_domain}/iso/win10/sources/boot.wim boot.wim
boot
上面的 iso/win10 目錄下存放的是從 win10 鏡像中解壓縮出來的文件
我的 tgt 沒有放到 docker 中,所以單獨(dú)配置下吧。在/etc/tgt/conf.d 目錄下隨便添加一個(gè).conf 后綴的文件,內(nèi)容如下:
<target iqn.rix.test.win:win10>
backing-store /data/disks/win.img
</target>
上面的那個(gè) iqn 是很重要的,配置啟動(dòng)的時(shí)候需要用到。然后使用下列命令創(chuàng)建一個(gè)磁盤鏡像:
fallocate -l 40G /data/disks/win10.img
我將所有磁盤鏡像,windows 的安裝文件啥的都扔在/data 目錄下。重啟并檢查 tgt:
sudo systemctl restart tgt
sudo tgtadm --mode target --op show #這個(gè)命令應(yīng)該可以看到我們的iqn以及對(duì)應(yīng)的磁盤文件
win10 的虛擬機(jī)啟動(dòng),如果準(zhǔn)備工作正確的話,會(huì)看到 netboot.xyz 的界面,并且看到我們添加的自定義的菜單,然后選賊 win10_install。正確的話,會(huì)啟動(dòng) win10 的安裝流程,這個(gè)在虛擬機(jī)中運(yùn)行的時(shí)候,等待的時(shí)間比較長(zhǎng),也可能是以為我給虛擬機(jī)分配的內(nèi)存比較少。總之,如果看到 win10 的選擇語言的選項(xiàng),就說明正常了。
如果這個(gè)時(shí)候按照正常的安裝邏輯的話,在安裝程序啟動(dòng)后,會(huì)找不到磁盤。所以,我們?cè)谡Z言之后,要選擇“修復(fù)計(jì)算機(jī)”->“疑難解答”->“命令行提示符”然后在彈出的命令行中輸入以下代碼:
net use \\192.168.1.127\share
\\192.168.1.127\share\win10\sources\setup.exe
第一行表示使用共享目錄。第二行執(zhí)行共享目錄下 win10 目錄中原始的安裝程序。之后和正常的 win10 安裝一樣了。最后到倒計(jì)時(shí)重啟。重啟后,選擇 win10_64_boot 這項(xiàng)進(jìn)行啟動(dòng),以后都可以使用這個(gè)來進(jìn)行啟動(dòng)。
使用流程除了從網(wǎng)絡(luò)啟動(dòng)外,其他的和有磁盤的方式?jīng)]太大區(qū)別。默認(rèn)的情況下,數(shù)據(jù)也可以保存,數(shù)據(jù)保存是自動(dòng)通過網(wǎng)絡(luò)保存到服務(wù)器上的,只是啟動(dòng)的過程比較慢,文件讀寫涉及到網(wǎng)卡速度,估計(jì)大文件會(huì)比較慢。
使用這種方式創(chuàng)建的無盤系統(tǒng)只是作為一個(gè)參考,比不得專業(yè)的無盤系統(tǒng)的效率。