不理解一些用於在 Linux 上設定接入點的命令

不理解一些用於在 Linux 上設定接入點的命令

我終於設法使用 hostapd 和 dnsmasq 在我的 WiFi 卡上設定了一個接入點。我是按照這個順序做的:

1)設定hostapd和dnsmasq:

nano /etc/hostapd/hostapd.conf

nano /etc/dnsmasq.conf

hostapd.conf 的內容:

介面=wlan1mon
驅動程式=nl80211
ssid=o2wlan69
hw_模式=g
通道=6
macaddr_acl=0
ignore_broadcast_ssid=0

dnsmasq.conf 的內容:

介面=wlan1mon
dhcp-範圍=192.168.1.2,192.168.1.30,255.255.255.0,12h
dhcp-選項=3,192.168.1.1
dhcp-選項=6,192.168.1.1
伺服器=8.8.8.8
日誌查詢
記錄 dhcp
監聽位址=127.0.0.1

2)這是四行中的兩行,我不知道它們到底是做什麼的:

ifconfig wlan1mon up 192.168.1.1 netmask 255.255.255.0

route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1

3)啟動服務:

dnsmasq -C /etc/dnsmasq.conf -d

hostapd /etc/hostapd/hostapd.conf

4)這是第3行和第4行,我不知道它們到底是做什麼的:

iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE iptables --append FORWARD --in-interface wlan1mon -j ACCEPT

我知道 iptables 用於更改阻止或重新路由進出設備的流量,我知道您可以使用 ifconfig 為網路設備分配網路遮罩和 IP 位址。我還知道網路遮罩如何影響本地 IP 範圍,但我不清楚這些命令如何幫助我的存取點在 wlan1mon 和 eth0 介面之間共用網路連線。另外,為什麼我必須執行ifconfig和route命令?

答案1

ifconfig wlan1mon up 192.168.1.1 netmask 255.255.255.0

此命令告訴您的電腦啟用網路設備 wlan1mon(您的 WiFi 介面)並為其指派 IP 位址 192.168.1.1(子網路為 192.168.1.0/24),以便它可以傳送/接收網路封包。

route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1

此命令告訴計算機發送在 192.168.1.1/24 到 192.168.1.1 子網中具有收件人的每個包(我不確定此命令是否應該在轉發的計算機上運行,因為僅需要路由就我而言,連接客戶端,並且由於您已經設定了DHCP 伺服器,因此應該在這些客戶端上自動新增此路由。

iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE

此指令指示電腦正確「偽裝」傳入/傳出包的 IP(網路A地址時間翻譯) 在 eth0 上的 POSTROUTING 鏈中。基本上,它將電腦的 IP 位址分配給每個傳出資料包(以便外部電腦能夠發送回應),並為網路內的相應主機重新定址傳入資料包。

iptables --append FORWARD --in-interface wlan1mon -j ACCEPT

此命令允許首先轉發來自 wlan1mon 的傳入資料包。這意味著,即使收件者是其他人,轉發電腦也可以處理和轉發這些網路包。

相關內容