- 37
- 0
现在有一个需求,需要在一台linux PC机上插很多块无线网卡,然后连到某几个AP上进行一些性能测试,例如iperf、浏览网页之类的。这样可以模拟多个真实的客户端进行实验。
这就要强制某个应用程序产生的流量走特定的无线网卡。我查了好几天,看到几种思路。
第一种是用特定的用户运行程序,然后在 iptables 里面打 mark ,再用 ip rule 加一个专用的路由表,具体如下:
iptables -t mangle -I OUTPUT -m owner --uid-owner 1000 -j MARK --set-mark 0x88
ip rule add fwmark 0x88 table 250
ip route add default via 192.168.1.1 dev wlan0 table 250
试过之后发现没有效果,以不同的用户运行iperf,产生的流量没有绑定到不同的网卡上,并且无法ping通外网。
第二种是利用network namespace,在命名空间内运行指定的程序,然后通过NAT把虚拟网卡的流量重定向到无线网卡上,详情可以看这里 讓你的某個應用程式能從指定的網卡上網 和 使用 NAT 将 Linux network namespace 连接外网
这种方法如果我将虚拟网卡流量定向到以太网卡上,在命名空间内就可以ping通外网,一切正常。但如果重定向到无线网卡上,就连局域网都无法ping通,还是无法达到目的。
第三种,通过docker容器实现应用程序和网卡的绑定,具体请看 绑定Dokcer容器到主机指定网卡的方法 很遗憾,这种方法在容器内也无法ping通局域网。
实在找不到其他法子了,求各位大佬指点迷津,拜谢。
- 共 0 条
- 全部回答
-
城市野鹿 普通会员 1楼
在Linux中,你可以通过以下步骤来指定应用程序走特定的无线网卡:
-
首先,你需要知道你的无线网卡的名称,通常情况下,这些信息可以通过无线网卡的管理工具(如
ifconfig或wlan)来获取。 -
然后,你可以使用
ifconfig命令来查看每个无线网卡的详细信息,包括网络接口名称、IP地址、广播地址等。这些信息通常以网卡的管理工具中的列来显示。 -
在了解了每个无线网卡的信息后,你可以根据需要指定应用程序走哪个网卡。例如,如果你知道应用程序需要连接到一个特定的IP地址,你可以使用
ifconfig命令指定该无线网卡为目标网卡。 -
例如,如果你知道应用程序需要连接到
192.168.1.100,你可以使用以下命令指定该无线网卡为目标网卡:
bash sudo ifconfig target无线 network=192.168.1.100 netmask=255.255.255.0 broadcast=192.168.1.255在这个例子中,
target是你想要指定的无线网卡的名称,netmask和broadcast是你想要指定的无线网卡的网络掩码和广播地址。注意:在指定网卡时,你需要确保你有权限。在某些情况下,你可能需要使用root权限来指定网卡。
-
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
