无人机簇内簇间通信(Ad-Hoc以及AP+AC)

因无人机通信需要,通过内置网卡热点构建AP-AC簇内网络,外置网卡构建Ad-Hoc簇间网络。

簇间网络设置

iwconfig查看网卡型号
ifconfig查看网卡ip

配置网卡信息
sudo nano /etc/network/interfaces

例如:(假设ad-hoc网络为192.168.120.0/24,A为192.168.120.1,B为192.168.120.2)

auto wlx90de803014a8 #该处填写自己的网卡名称
iface wlx90de803014a8 inet static
    address 192.168.120.1 #ad-hoc模式下ip地址
    netmask 255.255.255.0 #子网掩码
	network 192.168.120.0 #网络范围
    broadcast 192.168.120.255 #广播域
    wireless-channel 1
    wireless-essid CPS-IBSS
    wireless-mode ad-hoc 

簇内网络设置

AP设置

Ubuntu18.04如何开启wifi热点-CSDN博客

开启wifi热点,使用工具修改热点网关地址以及ip地址范围

nm-connection-editor

点击HotSpot进行ipv4设置

例如A的热点地址为192.168.121.1 子网掩码为255.255.255.0 网关为192.168.121.1

则A的热点为AC提供的网段为192.168.121.0/24

路由转发设置

AC通信会自动经过AP,所以无需为AC编写路由转发路径,但需确定各个簇内网段,例如A簇所在的网段为192.168.121.0/24,B簇所在的网段为192.168.122.0/24。

主无人机路由转发配置

开启路由转发

sudo sysctl -w net.ipv4.ip_forward=1

修改路由表,例如此处A簇到B簇需要经过Ad-hoc网络到B主无人机,则需要在路由中写下到192.168.122.0/24网络需要经过192.168.120.2

sudo ip route add 192.168.122.0/24 via 192.168.120.2 #在A主无人机上添加,192.168.120.2是B的簇间网络ip

该方式添加的路由转发信息会在重启后失效,需改写配置文件,例:

sudo nano /etc/network/interfaces
auto wlx90de803014a8 
iface wlx90de803014a8 inet static
    address 192.168.120.1 
    netmask 255.255.255.0 
	network 192.168.120.0 
    broadcast 192.168.120.255 
    wireless-channel 1
    wireless-essid CPS-IBSS
    wireless-mode ad-hoc 
#以下为新添部分
    post-up ip route add 192.168.122.0/24 via 192.168.120.2
    post-down ip route del 192.168.122.0/24 via 192.168.120.2

 由于AP的防火墙设置默认会屏蔽外界对AC的通信,因此需要关闭AP的防火墙机制

sudo iptables -I FORWARD -p icmp -j ACCEPT #允许所有的icmp包通信

重启网络服务

sudo systemctl restart networking

再测试,可以通过AB,使得a1能够ping通b1。

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值