Linux 网络架构搭建

Linux 网络架构搭建

路由器模式

AP Mode

ap mode 是设备通过无线路由器接入有线网络,所有连接到AP的设备在一个子网当中。WAN口是有线网络连接外网。

Reapter mode

Reapter mode是无线设备通过无线路由器接入无线网络,所有连接到reapter的设备在一个子网当中。 WAN口是无线网络连接外网。

Wireless Client Mode

设备具有无线联网功能,通过wifi直接连入网络。

WISP Mode

设备通过有线连入无线路由器,无线路由器通过无线连入网络。

Bridge Mode

设备A通过有线连接无线路由器A,无线路由器A开启桥接,无线路由器A通过无线连接无线路由器B,无线路由器B也开启桥接,设备B通过有线连入无线路由器B, 此时设备A和B连入同一个二层网络,在一个子网当中。

WISP Repeater Mode

在WISP模式的基础上,有无线设备连入无线路由器。

Bridge with AP Mode

在Bridge 模式的基础上有无线设备连入路由器。

在这里插入图片描述
在这里插入图片描述

软件

  • dhcpc, dhcpd
  • iptable
  • brctl
  • dnrd
  • mdnsresponder
  • wpa_supplicant, hostapd

网络架构搭建

Bridge Mode

#ifconfig eth0 up
# ifconfig wlan1 up
#ifconfig
eth0      Link encap:Ethernet  HWaddr 12:A3:FB:CB:E6:7A  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:14561 errors:0 dropped:16 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:4395310 (4.1 MiB)  TX bytes:0 (0.0 B)
          Interrupt:10 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

wlan1     Link encap:Ethernet  HWaddr 32:4A:26:A5:09:40  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
# brctl addbr br0           //add br0
# brctl addif eth0 br0   // add port eth0 to br0
# brctl addif wlan1 br0  //add port wlan1 to br0
# brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.12a3fbcbe67a       no              eth0
                                                        wlan1
# ifconfig br0 up
//create hostapd.conf and run hostapd on wlan1
# hostapd /var/nm/hostapd.conf -B
//run udhcpc on br0 
# udhcpc -i br0 -R &
udhcpc: started, v1.27.2
udhcpc: sending discover
udhcpc: sending select for 10.0.15.222                               //get ip 10.0.15.222
udhcpc: lease of 10.0.15.222 obtained, lease time 7200
deleting routers
adding dns 10.0.0.1
adding dns 0.0.0.0

Test

在开发板上ping gateway, 开发板是网桥节点。

# ping 10.0.1.1
--- 10.0.2.1 ping statistics ---
7 packets transmitted, 0 packets received, 100% packet loss
# ping 10.0.0.1
PING 10.0.0.1 (10.0.0.1): 56 data bytes
64 bytes from 10.0.0.1: seq=0 ttl=64 time=0.942 ms
64 bytes from 10.0.0.1: seq=1 ttl=64 time=0.633 ms
64 bytes from 10.0.0.1: seq=2 ttl=64 time=0.616 ms
^C
--- 10.0.0.1 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 0.616/0.730/0.942 ms

使用手机连接AP, 最后获得的ip跟网桥节点在同一个二层网络。
在这里插入图片描述在板子上ping 手机。

# ping 10.0.15.223
PING 10.0.15.223 (10.0.15.223): 56 data bytes
64 bytes from 10.0.15.223: seq=0 ttl=64 time=11.775 ms
64 bytes from 10.0.15.223: seq=1 ttl=64 time=5.219 ms
64 bytes from 10.0.15.223: seq=2 ttl=64 time=317.198 ms
64 bytes from 10.0.15.223: seq=3 ttl=64 time=65.076 ms
^C
--- 10.0.15.223 ping statistics ---
5 packets transmitted, 4 packets received, 20% packet loss
round-trip min/avg/max = 5.219/99.817/317.198 ms

WISP repeater Mode

wisp mode 要求无线client 作为WAN口,有线设备和无线设备都能够通过router 上网。
这里主要的工作的是使用iptables实现NAT功能。

#ifconfig eth0 up
# ifconfig wlan1 up
# ifconfig wlan0 up
# brctl addbr br0
# brctl addif br0 eth0
# brctl addif br0 wlan1
# ifconfig br0 10.0.2.1 netmask 255.255.255.0

接下来是开启wpa_supplicant和hostapd
wpa_supplicant.conf 文件

ctrl_interface=/var/run/wpa_supplicant
update_config=1
network={
	ssid="wifi_access"
	scan_ssid=1
	psk="12345678"
	key_mgmt=WPA-PSK
}

运行wpa_supplicant -iwlan0 -Dnl80211 -c /var/nm/wpa_supplicant.conf -b br0 -B

hostapd.conf

interface=wlan1
ctrl_interface=/var/run/hostapd
hw_mode=g
ieee80211n=1
ssid="nick_dong_ap"
channel=1
wpa=2
wpa_passphrase=12345678

运行hostapd /var/nm/hostapd.conf -B
编辑udhcpd.conf

start 10.0.2.20
end 10.0.2.253

interface br0 
max_leases 20
remaining yes
lease_file /etc/udhcpd.leases
opt dns 8.8.8.8
opt subnet 255.255.255.0
opt router 10.0.2.1

运行udhcpd -f /var/nm/udhcpd.conf
最后开启iptables NAT 转发。

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

eth0 是LAN口,wlan1的AP也是LAN口,WLAN0作为WAN口。现在开发板就是一个router, 用电脑连接eth0, 用手机连接WLAN1做成的AP, 手机和电脑就在一个10.0.2.0/24子网内。iptables 完成WAN口向内部网络的转发。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值