找回密码
 立即注册
img_loading
智能检测中

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888广告投放联系QQ68610888
glinet
查看: 3905|回复: 15

Docker部署Openwrt,宿主机怎么使用openwrt网络

[复制链接]
发表于 2023-6-14 13:39 | 显示全部楼层 |阅读模式
本帖最后由 fengymi 于 2023-6-14 15:26 编辑

参考网上Docker部署Openwrt做旁路由的方案,发现网段内其他设备指定Openwrt网关能实现。

根据macvlan docker和宿主机网络通信的教程,配置了代理的macvlan,宿主机和docker能相互ping通了


宿主机ip: 192.168.10.2
dockerip: 192.168.10.11


但是宿主机指定网关到Openwrt后,就不能上网了,我尝试抓了下包 看到 Request who-has 192.168.10.11 tell 192.168.10.2
看起来就是无法识别。我有什么办法能让宿主机也走旁路由网关吗
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
发表于 2023-6-14 14:58 | 显示全部楼层
docker会同步宿主机的网关设置 你设置为op后 op的网关也是自己了
macvlan里指定一下网关为主路由ip op设置里也设置一下网关看看

点评

我看了下两边的网关是不一样的 [attachimg]629389[/attachimg]  详情 回复 发表于 2023-6-14 15:25
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-6-14 15:25 | 显示全部楼层
本帖最后由 fengymi 于 2023-6-14 15:26 编辑
Concises 发表于 2023-6-14 14:58
docker会同步宿主机的网关设置 你设置为op后 op的网关也是自己了
macvlan里指定一下网关为主路由ip op设置 ...

前面说的不对,ping docker还是可以的,但是不能上网

我看了下两边的网关是不一样的



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

点评

看看macvlan怎么设置的  详情 回复 发表于 2023-6-14 16:01
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2023-6-14 16:01 来自手机 | 显示全部楼层
fengymi 发表于 2023-6-14 15:25
前面说的不对,ping docker还是可以的,但是不能上网

我看了下两边的网关是不一样的

看看macvlan怎么设置的

点评

[attachimg]629395[/attachimg]  详情 回复 发表于 2023-6-14 16:12
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-6-14 16:12 | 显示全部楼层
Concises 发表于 2023-6-14 16:01
看看macvlan怎么设置的


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-6-14 18:15 | 显示全部楼层
刚才通过tcpdump抓包发现,ping docker容器的时候用的是macvlan代理的网卡(我这里是 macvlan-proxy),然后发现这个设备只做了192.168.10.11的路由,没有配置默认网关。尝试加了下默认网关,果然可以了。

那目前看来宿主机的流量就要全部通过macvlan-proxy这个转发出去了,感觉还不是很好,但是起码实现了我的需求


route add default gw 192.168.10.11 macvlan-proxy

只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-6-14 18:15 | 显示全部楼层

配置macvlan代理的网关到docker


route add default gw 网关 网卡名称


exp: route add default gw 192.168.10.11 macvlan-proxy
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2024-1-20 13:09 | 显示全部楼层
楼主我宿主机这样设置路由表和默认网关之后,宿主机可以ping docker的macvlan,但是设置默认网关后连百度都curl失败,是哪里出了问题?我要排查什么错误?(其他设备设置默认网关指向openwrt可以“师夷长技以制夷”,除了宿主机)
宿主机ip: 192.168.211.131
openwrt-macvlan:192.168.211.134

  1. [root[url=home.php?mod=space&uid=467693]@Localhost[/url] openwrt-side]# ip route
  2. default via 192.168.211.134 dev macvlan-proxy
  3. default via 192.168.211.2 dev ens33 proto static metric 100
  4. 192.168.211.0/24 dev ens33 proto kernel scope link src 192.168.211.131 metric 100
  5. 192.168.211.134 dev macvlan-proxy scope link
复制代码


可以ping通openwrt
  1. [root@localhost openwrt-side]# ping 192.168.211.134
  2. PING 192.168.211.134 (192.168.211.134) 56(84) bytes of data.
  3. 64 bytes from 192.168.211.134: icmp_seq=1 ttl=64 time=0.106 ms
  4. 64 bytes from 192.168.211.134: icmp_seq=2 ttl=64 time=0.123 ms
  5. 64 bytes from 192.168.211.134: icmp_seq=3 ttl=64 time=0.103 ms
  6. 64 bytes from 192.168.211.134: icmp_seq=4 ttl=64 time=0.099 ms
复制代码


openwrt的路由表
  1. bash-5.2# ip route
  2. default via 192.168.211.2 dev eth0 proto static
  3. 192.168.211.0/24 dev eth0 proto kernel scope link src 192.168.211.134
复制代码

只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-1-21 09:15 | 显示全部楼层
这个我记得是docker macvlan方式的限制。后面我为了让宿主机支持,把docker的网络模式改成共享宿主机的模式。
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-1-21 09:15 | 显示全部楼层
zjlllli 发表于 2024-1-20 13:09
楼主我宿主机这样设置路由表和默认网关之后,宿主机可以ping docker的macvlan,但是设置默认网关后连百度都 ...

这个我记得是docker macvlan方式的限制。后面我为了让宿主机支持,把docker的网络模式改成共享宿主机的模式。

点评

容器创建命令是什么,设置了host之后,openwrt里面的/etc/config/network怎么改?我用host模式,修改成宿主机ip后,宿主机直接ssh断掉了。。。  详情 回复 发表于 2024-1-21 11:12
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2024-1-21 11:12 | 显示全部楼层
fengymi 发表于 2024-1-21 09:15
这个我记得是docker macvlan方式的限制。后面我为了让宿主机支持,把docker的网络模式改成共享宿主机的模 ...

容器创建命令是什么,设置了host之后,openwrt里面的/etc/config/network怎么改?我用host模式,修改成宿主机ip后,宿主机直接ssh断掉了。。。

点评

[attachimg]668947[/attachimg] 修改docker配置文件,文件里面记得把#去了  详情 回复 发表于 2024-1-22 23:08
这个我之前记得文档  详情 回复 发表于 2024-1-22 23:00
https://www.yuque.com/fengymi/uatrxl/tkhmng44i7hanx9a?singleDoc#%20%E3%80%8ADocker%E5%AE%89%E8%A3%85OpenWrt%E7%A7%91%E5%AD%A6%E4%B8%8A%E7%BD%91%E3%80%8B  详情 回复 发表于 2024-1-22 23:00
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-1-22 23:00 | 显示全部楼层
zjlllli 发表于 2024-1-21 11:12
容器创建命令是什么,设置了host之后,openwrt里面的/etc/config/network怎么改?我用host模式,修改成宿 ...

https://www.yuque.com/fengymi/ua ... A%E7%BD%91%E3%80%8B

点评

大佬,文档被删掉了  详情 回复 发表于 2024-2-4 17:43
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-1-22 23:00 | 显示全部楼层
zjlllli 发表于 2024-1-21 11:12
容器创建命令是什么,设置了host之后,openwrt里面的/etc/config/network怎么改?我用host模式,修改成宿 ...

这个我之前记得文档
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-1-22 23:08 | 显示全部楼层
zjlllli 发表于 2024-1-21 11:12
容器创建命令是什么,设置了host之后,openwrt里面的/etc/config/network怎么改?我用host模式,修改成宿 ...






修改docker配置文件,文件里面记得把#去了
  1. # 修改网络
  2. nano /etc/config/network

  3. #config interface 'loopback'
  4. #        option ifname 'lo'
  5. #        option proto 'static'
  6. #        option ipaddr '127.0.0.1'
  7. #        option netmask '255.0.0.0'
  8. #
  9. #config globals 'globals'
  10. #
  11. #config interface 'lan'
  12. #        option type 'bridge' ## 去除导致宿主机无法上网?
  13. #        option ifname 'eth0'
  14. #        option proto 'static'
  15. #        option netmask '255.255.255.0'
  16. #        option ip6assign '60'
  17. #        option ipaddr '192.168.10.11'
  18. #        option gateway '192.168.10.1'
  19. #        option dns '192.168.10.1'
  20. #
  21. #config interface 'virtual**0'
  22. #        option ifname 'tun0'
  23. #        option proto 'none'

  24. # 重启网络
  25. /etc/init.d/network restart
复制代码



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2024-2-4 17:43 | 显示全部楼层
fengymi 发表于 2024-1-22 23:00
https://www.yuque.com/fengymi/uatrxl/tkhmng44i7hanx9a?singleDoc#%20%E3%80%8ADocker%E5%AE%89%E8%A3% ...

大佬,文档被删掉了
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛

只谈技术、莫论政事!切勿转播谣言!为了你也为了他人。
只谈技术、莫论政事!(点击见详情) 切记不要随意传播谣言,把自己的日子过安稳了就行,为了自己好也为了大家好。 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。

查看 »

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2025-5-20 09:03

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com

快速回复 返回顶部 返回列表