不理解在 Linux 上设置接入点的一些命令

不理解在 Linux 上设置接入点的一些命令

我最终设法使用 hostapd 和 dnsmasq 在我的 WiFi 卡上设置了一个接入点。我按照以下顺序进行操作:

1)配置hostapd和dnsmasq:

nano /etc/hostapd/hostapd.conf

nano /etc/dnsmasq.conf

hostapd.conf 的内容:

接口=wlan1mon
驱动程序=nl80211
ssid=o2wlan69
硬件模式=g
通道=6
macaddr_acl=0
忽略广播 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 发送每个在 192.168.1.1/24 子网中有收件人的包裹(我不确定是否应该在转发的计算机上运行此命令,因为就我而言,只需要连接客户端的路由。而且由于您已经设置了 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 的传入数据包。这意味着,即使接收者是其他人,转发计算机也可以处理和转发这些网络数据包。

相关内容