hyper-v虚拟lean-openwrt旁路由中的桥接、ip动态伪装、防火墙设置思考

研究这事这么久了,来个了断?以后就不瞎想了,毕竟业余选手,能用就好哈!

1.是否需要桥接?

交换机:工作在数据链路层,原理等同于多端口网桥。 作用是连接数个相同网段的不同主机,减少网内冲突,隔离冲突域。 利用存储转发和过滤技术来从物理上分割网段

在接口页面-物理设置中,不勾选桥接时,接口为圆点,只能单选;勾选桥接时,可以多选。

可以把,桥接,想象成没有管理系统的傻瓜交换机,桥接一个物理端口,就是在傻瓜路由器拉出一条线连接那个物理端口,每个网口的状态,由桥接的上游决定。比如,从路由接出来的交换机,接到交换机上的设备分配的ip来自路由器的dhcp,交换机相当于给路由器多加了几个网口插孔。当这个网桥在LAN域之下,那么与之桥接的物理端口也就都是lan口了。

这个文章有一些关于桥接的讨论,摘录部分如下:

现在有2个疑问
1,笔记本刷的op固件作旁路由,很多人说旁路由要取消lan的桥接接口选项,实际使用的时候,取不取消没感觉到有啥影响,都能正常上网和扶手工竹梯子.
2,极路由3刷的openwrt固件, 只要一取消lan的桥接接口选项(默认的是eth0和无线网卡被勾上了),这个硬路由通过网线连lan口的方式马上就不能登录了, 这时候只能重置路由器了

这个桥接应该是用于多网口的的软路由,比如8口软路由,一个wan口,另外7个桥接成lan口,我是这样理解的

同意,就是开启桥接后,单选变成多选,多个网卡复用一个逻辑链路,把多个网卡数据流汇合到一起作为LAN处理,取消过后就只能单选,只能用一个网卡作为LAN接出口,那么一个LAN口作为接出,一进一出,局域网LAN交换数据

PENWRT基于LINUX,来源于电脑系统。LAN和WAN是指不同的防火墙分区(就像WINDOWS链接一个网络后让你选是连接到什么网络一个意思,但LINUX的防火墙分区概念原早于WIN)。而防火墙分区和物理网口既有关系又有很大的区别。一个物理网口可以通过VLAN划分绑定不同的防火墙分区,一个防火墙分区可以绑定多个物理网口。在路由系统里会针对不同的防火墙分区有不同的规则,而你还可以把LAN同时当做一个虚拟网卡来进行IP地址设置以及其他管理。

OPENWRT默认物理网口绑定到LAN区域(也就是桥接),而LAN区域默认拥有路由远程管理权限。但在单臂路由时,由于一个物理网口同时要收发WAN区域流量和LAN区域流量,所以物理网口(eth0)需要取消桥接LAN。在eth0取消桥接LAN后,由于LAN区域已经不再有实际物理网口绑定,原虚拟网卡LAN的地址自动赋值给物理网口eth0,所以并不妨碍我们远程管理路由。但硬路由LAN桥接的eth0网卡有四个子接口(eth0.1-eth0.4),在取消桥接LAN后系统无法给4个子网卡自动设置IP,网卡没有设置IP,所以我们就不能远程管理路由了

旁路由其实并不是传统意义上的路由,可以看做传统意义的V-P:N服务器,他只是作为一个服务器存在,所以他的防火墙区域主要是LAN和Vp?n,而V-P/N区域都是基于软件的,接口都是虚拟的,所以一般不会和LAN区域所桥接的接口有什么冲突。

在不桥接LAN接口的情况下,所有的数据包都需要通过程序判断识别为是LAN还是WAN数据包,然后再进一步处理,这会一定程度加重CPU负担,所以可能会有卡顿现象(CPU性能越弱就越明显)。而使用VLAN标识后可以很好解决这种现象,让网络拓扑更清晰,这也是单臂路由推荐的方式,只是需要管理型交换机才能完成。

视频UP主大多也只是知其然
不知道您明白了没有,桥接最简单的理解就是把选中的物理接口(其实也包括系统的虚拟接口)看作是一个接口,也就是看作是openwrt这里添加的接口,通常会被叫做lan口
换句话说假如您有4个网口,第一个作为wan口,后面三个桥接作为lan口,您的PC插后面三个哪个都是一样的,假如您的设备可以开WIFI热点,那么WIFI热点也可以被认为是一个物理接口与其他三个口桥接到lan中,那么连接了WIFI的设备也如同网线直接接到lan上一样,他们可能会被分配同一网段的ip、同样的网关、dns和掩码等等
之所以您单网口旁路由桥接与否都可以使用想必您到这里也明白了吧,也就是一个网口桥接不桥接也没有变化,一个网口看作一个网口还是一个网口哈哈哈哈哈
但是需要注意的是单臂路由中一个网口桥接与否可能是有一定区别的,具体可以了解一下单臂路由的原理

我的理解是桥接的意思是,比如在lan口上,打勾的的那些口互相之间可以通。按道理就算不是单臂路由,在不用vlan的情况下,就算不桥接,电脑直接连上去应该也能进后台。楼主进不了应该就是vlan交换机的设置,导致进后台只能从eth0.1进,如果只勾eth0当然就进不了后台,因为不桥接的话它和eth0.1不通,如果只勾选eth0.1不桥接应该也能进后台

说一下我对桥接模式的理解;
理论上,桥接就是二层交换机.设为桥接,就是说虚拟出来一个交换机,把这个网口挂上去. 所以设置成桥接后,可选多个网口,这样相当与在内部,多个网口直连到同一个交换机上.
取消桥接后,每个接口都可以理解成一个三层口,你只有直连这个三层口,配上ip才能访问. 其他口都是相互独立的.所以连不上了.

但是为何做旁路由都在强调取消桥接呢? 有的人说不取消也没事.有的人却强调取消. 我也是实验中发现一个其中的原因.

先说结论: 这里的桥接和普通意义交换机有不同.因为它会arp劫持. 劫持非桥接网段的其他网段ip. 你要细品.再细品,不信就试试看.
举个例子:
家用互联网.一般不做vlan划分,如果同一个网络中使用两个不同网段ip. 比如上网的是192.168.1.0/24 家里的监控不联网,摄像头硬盘录像机使用192.168.2.0/24.
肯定有人说为啥不单独走线,两个网段在同一个网络中,ip广播怎么办.这些都不是一般用户考虑的事情.本身设备也不多呀. 但是当挂上openwrt后.故事就这样开始了.
openwrt lan口开桥接模式.ip 192.168.1.2/24 ,然后并到主网络中. 好吗,你会发现摄像头登录不上了. 不信邪.尝试改本机的ip为192.168.2.0/24 直连摄像头.可提示ip冲突. (winxp 会无法设置ip,ip会空. win7以上系统可以设置.单会提示ip冲突. )换个ip同样如此.
去openwrt看一下,发现arp出现了问题. 电脑设置的ip地址会备绑定在一个随机的mac上.所以才会提示ip冲突. 我只好把它理解成arp劫持. 它的网桥就是默认开启了这个功能.
如果网络中只有这一个网段,我所谓.但是要有其他网段.必须要关闭桥接模式.

无法判断那个下边说的劫持是否为真,不过我有遇到过虚拟机里的openwrt没有关dhcp,还是一个不同的网段(192.168.0.x),会在内网中抢答给新接入的设备分配到非192.168.1.x的地址,导致不能工作。

结论:单口的路由,虚拟旁路有,关闭与否没关系。但,不过点一下的事么,解除绑定吧。

2.是否需要开启ip动态伪装或者防火墙规则设置?

不开启的主要表现是,可以上外网,但不能上内网。

有的帖子讨论中指出,不同的翻墙软件有可能导致不同的结果。比如openclash不需要,但ssrplus和passwall(我的常用)需要。

另外,还有说不同的主路由也可能影响是否需要开启。

一些有用的讨论摘录如下:

因为旁路由处理过后,ip变了,一个mac对应两个ip

别纠结了,不需要科学的设备直接通过主路由,需要科学的话,伪装不伪装的都一样。这个伪装有的说需要有的说不需要应该和主路由有关,我的旁路由只要设置好lan的网关和dns就可以了其它不用设置

开不开动态伪装,和使用那种代理工具也有关系

我主路由是TP-LINK的,负责dhcp,dns默认不填。
旁路由使用OpenClash的话,旁路由的dns不填,也不用打开动态伪装,国内外一切正常。
旁路由使用s-s-r p+的话,要开动态伪装,且旁路由要设dns(可以公共也可以是主路由的),不然外国可以上网,国内无法上网。

我的结论就是:不仅要看使用什么品牌的主路由,而且还要看使用什么代理工具,使用OpenClash不用开动态伪装,其他代理工具估计都有要开,至少s-s-r p+需要开,其他代理工具我没测,估计要开吧

这个我也不知道,反正是我在使用过程中偶然发现小猫咪可以不用开动态伪装的。。。
可能小猫咪拿到更高权限吧,比如dns劫持(所以旁路由和主路由都不用另外设置dns)和包括类似动态伪装之类的权限吧

反正小猫咪也好用,规则细致,切换节点和规则也很方便,所以不开动态伪装这个问题算是间接的解决了。。

还有个文章讨论了ip动态伪装与mss钳制:

ip动态伪装的英文是masq,即MASQUERADE,所以就是WAN口的nat设置。

这句话很有意思,当局域网的其他设备把网关改为openwrt的ip时,相当于接入了这个lan网桥,还是个没有开启nat的网桥,所以没有办法做地址转换实现联通。

另一个想法是,其他设备实际上与这个oepnwrt在一个子网的,不开启的时候,即使网关改为openwrt,地址转化还是受到主路由的影响,所以会有奇怪的不通现象吧。

结论:还是要开的。。。

参考链接

  1. https://youtu.be/jXMgAz_GQxI?list=RDCMUCOhkliOps3IS48ly-MgPC2A&t=1741
  2. lan物理设置中的桥接接口到底怎么用-软路由,x86系统,openwrt(x86),Router OS 等-恩山无线论坛 (right.com.cn)
  3. openwrt旁路由该如何设置?(动态伪装相关)-OPENWRT专版-恩山无线论坛 (right.com.cn)
  4. [OpenWrt Wiki] Linux 网络接口(Network Interfaces)
  5. Openwrt 接口及基本设置 | Verne in GitHub (einverne.github.io)
  6. openwrt避坑指南1:IP动态伪装和MSS钳制 - 简书 (jianshu.com)