快疯了。。单臂路由的 VLAN 到底怎么配置? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
whx20202
V2EX    程序员

快疯了。。单臂路由的 VLAN 到底怎么配置?

  •  
  •   whx20202 2017-02-12 17:21:44 +08:00 15207 次点击
    这是一个创建于 3168 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目前是一台电脑直接交换机 port2 ,电脑里装的 esx 主机,

    vmware 虚拟机: vmnetwork : VLAN100 ,
    vswitch : 开混杂模式

    交换机: port2 : vlan100 tagged

    现在问题: 虚拟机 ping 交换机网关都 ping 不通

    折腾好几天了,谁知道这个该怎么配置? 感激不尽!

    第 1 条附言    2017-02-12 19:52:14 +08:00
    <img src="http://wx2.sinaimg.cn/mw690/b75b4fadly1fcnx9m6unnj20yi0pxqv5.jpg" alt=" 1.jpg"/>
    <img src="http://wx2.sinaimg.cn/mw690/b75b4fadly1fcnx9vmyitj20yi0px1ky.jpg" alt=" 2.jpg"/>
    <img src="http://wx2.sinaimg.cn/mw690/b75b4fadly1fcnxa27dmbj20yi0px7wi.jpg" alt=" 3.jpg"/>

    配置大概就是这些 截图中 port1 没亮,其实当时 port1 上是有设备的,而且配置了静态 IP (截图的时候被我拔了)

    从 port2 ping port1 的机器:
    只要 esx 端口组 设置成 0 或者 4095 ( all ) 就能 ping 通
    只要设置成 100 就不能 ping 通

    @gamexg
    第 2 条附言    2017-02-13 10:07:12 +08:00
    目前思路:
    1. 网上有的说笔记本千兆有线网卡 收包自动会去 vlan tag ,想办法抓 vlan 包看看
    2. esx 那边还要检查一下
    谢谢各位,如果我这个搞定了我出个小白版的教程,方便少数和我一样不太懂的同学
    53 条回复    2017-02-14 00:37:15 +08:00
    whx20202
        1
    whx20202  
    OP
       2017-02-12 17:22:56 +08:00
    @JackyBao 不好意思再次麻烦您一下, 能帮忙在看一下吗
    jasontse
        2
    jasontse  
       2017-02-12 17:47:24 +08:00 via iPad
    在 OpenWrt 中 Interface Edit 界面有一句话
    > You can also use VLAN notation INTERFACE.VLANNR (e.g.: eth0.1).
    意思就是 Physical Settings 中可以直接写 Custom Interface ,比如 eth0 网卡上的 VLAN 100 就是 eth0.100 。
    ifaii
        3
    ifaii  
       2017-02-12 17:47:44 +08:00
    这不叫单臂路由吧?
    你是什么交换?思科华为倒是好搞定,其他就不太了解了。
    你试试把 Port 改成 VLAN 100 un tagged (未标记), VM SWITCH 不要 VLAN 标记,当成接入模式就好了
    gamexg
        4
    gamexg  
       2017-02-12 17:50:55 +08:00   1
    先确认下几个:
    1.交换机端口 2 打了 100 的标签,并且是 tagged 模式。
    2.你希望虚拟机连接的目标也需要在交换机上面配置属于 vlan100 , pvid 也是 100 ,并设置为 untag 。对了还要确认是 802 协议的 vlan ,别是交换机私有的。
    3.vswitch 不需要开 混杂模式,直接在端口组配置 vlan id 即可,然后将虚拟机网卡连接到端口组。

    另外虚拟机在 vlan100 可能会由于和交换机管理 vlan 不同无法 ping ,确认 vlan 配置是否正确建议用虚拟机 ping 其他设备。
    kuretru
        5
    kuretru  
       2017-02-12 18:10:59 +08:00   1
    如果 LZ 还是用上个帖子的方案,我准备了一张图
    UnknownR
        6
    UnknownR  
       2017-02-12 19:07:46 +08:00
    有开 switchport mode access 吗
    whx20202
        7
    whx20202  
    OP
       2017-02-12 19:15:11 +08:00 via iPhone
    @gamexg 能推荐一个支持这个格式的交换机么 我已经买错两个了,退货退的好气呀……
    whx20202
        8
    whx20202  
    OP
       2017-02-12 19:20:58 +08:00 via iPhone
    @gamexg 我就是 port1 vlan 100 untag pvid 100
    port2 vlan 100 tagged pvid 100
    只要虚拟机用 vlan 网卡 ping port1 的电脑就不行,
    不用 vlan 网卡就随便 ping

    感觉像是交换机买的有问题……
    复制这条信息,打开手机淘宝即可看到 [五 5 口千兆交换机 网管 vlan 端口隔离镜像汇聚扩 wan 铁壳交换机 监控] ¥ QhMyRj6mAa ¥ http://c.b1wr.com/h.dZOIOJ?cv=QhMyRj6mAa&sm=cc15e9

    果然便宜没好货?
    whx20202
        9
    whx20202  
    OP
       2017-02-12 19:22:58 +08:00 via iPhone
    @kuretru 谢谢,主要是我买的那个交换机没有我要的那种 trunk ,他的 trunk 必须把多个端口加到一个 trunk 组里,感觉像是主备倒换,负载均衡什么的
    MntCw
        10
    MntCw  
       2017-02-12 19:26:39 +08:00 via Android
    路由器上起子接口
    gamexg
        11
    gamexg  
       2017-02-12 19:28:53 +08:00
    应该不是交换机的问题,支持 tagged 模式的就应该能用。
    看介绍是没问题的 “  基于 IEEE 802.1Q 的 Tag VLAN ;”
    http://siri-vision.com/a/chanpinzhongxin/jiaohuanji/jiandanwangguanjiaohu/2016/1222/SR-SG2005.html

    建议发下截图。
    sundong
        12
    sundong  
       2017-02-12 19:51:08 +08:00
    先不说单臂路由 先说说你想干嘛 实现什么
    whx20202
        13
    whx20202  
    OP
       2017-02-12 19:53:03 +08:00
    <img src=" " alt=" 1.jpg"/>
    <img src=" " alt=" 2.jpg"/>
    <img src=" " alt=" 3.jpg"/>
    whx20202
        14
    whx20202  
    OP
       2017-02-12 19:58:51 +08:00
    @sundong 目前想实现网卡直接发带 tag 的包,问题是交换机好像不收
    a1044634486
        15
    a1044634486  
       2017-02-12 20:15:45 +08:00
    交换机能配置单臂路由?,2 层交换机的 IP 能当网关?
    whx20202
        16
    whx20202  
    OP
       2017-02-12 20:48:58 +08:00




    whx20202
        17
    whx20202  
    OP
       2017-02-12 20:49:27 +08:00
    @a1044634486 目前主要问题是连虚拟化的 tag 报文都发不出去
    jasontse
        18
    jasontse  
       2017-02-12 21:08:48 +08:00 via iPad   1
    pvlan 和 cvlan 不是一回事所以 pvid 不要设置,其它的因为我也不熟你这个交换机所以也不能确定,不过应该没什么问题。
    gamexg
        19
    gamexg  
       2017-02-12 21:45:08 +08:00   1
    配置看起来都正确,
    也许可以把 esxi 端口组的 vlan 设置为 all+混杂模式,抓个包看看收到的包是否有 vlan 。
    或者电脑抓包看看是否正确收到了无 vlan 的包。
    JackyBao
        20
    JackyBao  
       2017-02-12 21:48:53 +08:00 via iPad   1
    LZ 我来了。

    vmware 这种情况我也没试过,但我知道我下面这种肯定可行,你参考一下思路。

    4 口交换机
    1 设成 trunk ,连电脑。
    2 设 vlan 1 ,当 wan 口用。
    3 4 设 vlan 2 ,当 lan 口用。

    电脑装 openwrt ,网口连交换机 1 口。
    装 macvlan ,把电脑上唯一的网口虚拟出 2 个网口,比如 macvlan1, macvlan2, 分别设置 vlan 1 2 。
    在 interface 里, wan 的物理接口选 macvlan1, lan 的选 macvlan2 。

    搞定!
    whx20202
        21
    whx20202  
    OP
       2017-02-12 22:16:01 +08:00 via iPhone
    @JackyBao 话说能给推荐一个交换机么……之前买错了两三个都退了,百兆千兆无所谓,能支撑我这个就可以
    kuretru
        22
    kuretru  
       2017-02-12 22:41:17 +08:00 via iPhone
    @JackyBao 可以 exsi 分配 2 个网口分别对应 2 个 vlan 给 openwrt ,这样 macvlan 都不用配了
    kuretru
        23
    kuretru  
       2017-02-12 22:44:52 +08:00 via iPhone   1
    交换机应该是支持的, exsi 设置有问题
    tpsxiong
        24
    tpsxiong  
       2017-02-12 23:20:09 +08:00 via iPad
    @whx20202 tp 的 tl-sg108e 不错,千兆铁盒
    whx20202
        25
    whx20202  
    OP
       207-02-12 23:40:05 +08:00 via iPhone
    @kuretru 那我再研究一下 esx
    carterdang
        26
    carterdang  
       2017-02-13 04:52:05 +08:00 via Android   1
    首先画个租网图出来,确定哪些接口带 vlan 哪些不带,按照 lz 描述如果电脑出来带 vlan 那对应接口问 trunk 并允许相应 vlan 通过,如果借口出来不带 vlan 就在接口上打上 vlan ,所以如果 port2 的电脑出来的数据带了 vlan , port2 是 vlan100tagged ,那就要丢弃这个包
    carterdang
        27
    carterdang  
       2017-02-13 05:20:35 +08:00 via Android
    不太理解这低端交换机网页设置,根据 lz 配置,可以试下交换下 1 , 2 端口看是不是就能通了
    whx20202
        28
    whx20202  
    OP
       2017-02-13 09:17:06 +08:00
    @carterdang 感谢,可是问题是:
    1. port2 如果 ESX 虚拟化那边没问题,发送的应该是 带 tag 的标签
    2. 这个低端路由好像没有区分 access trunk 的端口模式
    3. 然后我设置了 port2 vlan100 , pvid 也是 100 ,带 100vlan 的数据包从电脑进端口,应该是能放行的,不应该丢弃这个包吧
    whx20202
        29
    whx20202  
    OP
       2017-02-13 10:02:44 +08:00
    @gamexg 对了你是哪个 TcpRoute 的作者么? 我一直在用哪个
    yushiro
        30
    yushiro  
       2017-02-13 10:10:43 +08:00 via iPhone
    楼主用的是不是 BL-SG108M ?交换机的 vlan0 是不能删除的
    gamexg
        31
    gamexg  
       2017-02-13 10:25:26 +08:00
    @whx20202 是的,当时学习 golang 时写的。

    另外交换机的话我这里用的是 JGS524Ev2 ,和你一样的用法,没碰到这种问题。

    对了,想起一个问题,你配置好交换机的 vlan 后是怎么访问的 esxi ?
    如果给交换机的 esxi 端口配置了 tagged ,那么就无法访问 esxi 了,我当时是在 esxi 控制台下修改的网卡 vlan 才能够再次访问 esxi 。
    你如果没做这个修改就能够访问 esxi ,那么很怀疑交换机真的给数据包打了 vlan 标签了吗?
    whx20202
        32
    whx20202  
    OP
       2017-02-13 10:26:18 +08:00
    @yushiro 我用的小牌子的,希力交换机,现在感觉像是因为  我所有的虚拟机都在笔记本上,而笔记本网卡收 vlan 包会自动删除 tag. 我回家看看 windows 能不能抓它下面虚拟机的 vlan tag 包, 看一下就行了
    gamexg
        33
    gamexg  
       2017-02-13 10:29:16 +08:00
    @gamexg JGS524Ev2 v2 版本的才支持 vlan , v1 是不支持 vlan 的。
    whx20202
        34
    whx20202  
    OP
       2017-02-13 10:29:31 +08:00
    @gamexg 明白您的意思 我回去检查设置。 BTW , 你那个 tcproute 真的挺好用的,某种概念上说,相当于家里建了个 BGP
    pwcong
        35
    pwcong  
       2017-02-13 11:44:37 +08:00
    http://pwcong.me/2016/01/26/%E4%B8%8D%E5%90%8CVLAN%E4%B9%8B%E9%97%B4%E4%BA%92%E7%9B%B8%E9%80%9A%E4%BF%A1/

    我之前学网工的时候写了一个教程,但是是思科的,不知道里面的思路能不能帮到你
    digimoon
        36
    digimoon  
       2017-02-13 11:45:14 +08:00
    pvid 没记错应该就是当收到没有带 vlan id 的包的时候就默认打上 pvid 设置的这个 vlan id ,现在我也是在用单臂路由不过虚拟机用的 hyper-v ,楼主最好画一张图我大概看了一下没看懂。。。
    chenghj87
        37
    chenghj87  
       2017-02-13 11:48:42 +08:00
    贴个你现在的拓扑图啊
    Sh888
        38
    Sh888  
       2017-02-13 13:32:17 +08:00
    你这些设备里都没有路由器,怎么配置单臂路由器呢?我猜你的意思应该是 ESXi 的虚拟交换机和物理交换机之间建立 trunk ,然后 ESXi 上虚拟机可以在各个不同的 vlan 和物理交换机上的各 vlan 接口通信吧?如果是这样的话,需要两边都不打标记(也就是 trunk 模式)就可以了。
    Sh888
        39
    Sh888  
       2017-02-13 13:33:59 +08:00
    你要 ping 通网关,需要在路由器的 lan 接口下配置子接口,一个子接口对应一个 vlan ,配置对应的 ip 地址,这个才是单臂路由。
    goodryb
        40
    goodryb  
       2017-02-13 13:35:28 +08:00
    小白没看懂楼主的需求是什么,不过楼主愿意出教程我是双手赞成
    whx20202
        41
    whx20202  
    OP
       2017-02-13 14:18:13 +08:00
    @Sh888 我的目的就是你说的这样,问题是这个物理交换机的端口设置没有 trunk 模式,而且必须设置 PVID
    Sh888
        42
    Sh888  
       2017-02-13 14:39:45 +08:00   1
    @whx20202 我看到 16 楼截图 1 里面有“无 tag 标记”,这个能设置吗?
    另外, esxi 的“混杂模式”不用开吧,这个是端口镜像时候用的,也就是同时接受上行和下行流量。
    Sh888
        43
    Sh888  
       2017-02-13 14:42:00 +08:00
    @Sh888 根据 16 楼截图 1 ,是否测试一下 5-8 端口, 5-8 貌似已经不做标记了。
    whx20202
        44
    whx20202  
    OP
       2017-02-13 14:52:15 +08:00
    @Sh888 我好像突然有点明白了,晚上回家试试
    Sh888
        45
    Sh888  
       2017-02-13 14:58:37 +08:00
    @whx20202 tag 、 untag 、 off 的概念是有点搞,貌似是 linux 下的说法,和 cisco 的说法有些不一样。这个 openwrt 的文档你参考一下,有 tag 、 untag 的具体解释。 https://wiki.openwrt.org/inbox/doc/extend_router_ports_managed_switch
    carterdang
        46
    carterdang  
       2017-02-13 16:04:33 +08:00 via iPhone
    pvid 是一个交换机端口的默认 vlan id, 对于 trunk 口可以不用更改,这里不明白“无 tag 标记”指的是不是出流量离标签的动作,可能是翻译问题导致的理解偏差,最好能找下店家或者相关产品文档看下怎么设置流量进端口不需要 tag vlan ,出流量也不剥离标签
    digimoon
        47
    digimoon  
       2017-02-13 17:13:07 +08:00
    untagged 比较霸道,进入的时候不管你有没有标记都统一标成 untagged 设置的 vlan id ,发出去的时候则是全给你清掉 vlan id

    我说说我现在的例子: port0 接光猫, port1 接做软路由的 pc , port234 接其他设备
    port0 的光猫只是给软路由 pc 上的虚拟机用,这个口打 untagged vlan1
    port1 的 pc 上的虚拟机软路由网卡有两个,一个是 vlan1 连光猫,另外一个是 vlan0 ,所以 port1 设 tagged&trunk
    port1 的 host pc 本身也要连到自己虚拟机软路由上,所以 host pc 的网卡是 vlan0
    port234 自然也是 vlan0 桥接,设 untagged vlan0
    whx20202
        48
    whx20202  
    OP
       2017-02-13 17:16:11 +08:00
    @digimoon 全部明白

    问题是你的 host PC 是什么系统 物理机器还能接受 vlan 数据包?
    lyh3222
        49
    lyh3222  
       2017-02-13 17:22:58 +08:00
    所以,现在单臂路由是不需要虚拟子接口了吗?
    digimoon
        50
    digimoon  
       2017-02-13 17:42:39 +08:00
    @whx20202 hyper-v 的虚拟交换机除了可以设置虚拟机的外,还可以设置 host 机网卡的 vlan id
    whx20202
        51
    whx20202  
    OP
       2017-02-13 19:02:54 +08:00
    @lyh3222 要的 虚拟机的第一个网卡设置为 VLAN 100 目前 ping 不通 我在定位
    whx20202
        52
    whx20202  
    OP
       2017-02-14 00:23:56 +08:00

    @Sh888
    @gamexg
    @kuretru

    我抓了包 虚拟机随便配了个 192.168.1.55 的 ping 交换机网管 192.168.1.1
    结果一直在 arp 死循环 :
    1.55 (虚拟机) 不停的问 1.1 (路由器网关)的 mac 地址是多少
    1.1 (路由器网关)也一直回复,但是感觉虚拟机看不到

    后来我看了下图中的报文,有意思的东西出现了:
    1. 虚拟机问 arp 的时候,带 100 vlan ID
    2. 交换机回的时候不带

    怎么判断是笔记本自带 GE 有线网卡过滤了返回的 VLAN ID , 还是交换机返回的本身就没有?
    gamexg
        53
    gamexg  
       2017-02-14 00:37:15 +08:00
    @whx20202 不建议拿交换机网管测试,很有可能厂家就没考虑管理 vlan ,建议 ping 另找的计算机。

    可行的办法:

    1.另找一个电脑(交换机设置为 utag , vlan=100 , pvid=100) ping 任何地址,虚拟机抓包,看看是不是能够收到 arp 请求,收到就表示交换机正确的给包加了 tag ,并且 esxi 正确的移除了 vlan 标签。

    2.如果收不到,可以试试将虚拟机端口组的 vlan 去掉, esxi 开混杂模式,然后在抓包,正确情况下包应该带 vlan 标签。

    3.找一个电脑,连上交换机,然后把这个交换机端口设置为带 tag ,抓同一 vlan 的广播,理论上应该带正确的 vlan 标签。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     897 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 20:10 PVG 04:10 LAX 13:10 JFK 16:10
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86