<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>单线多拨 on JokemeBlog</title>
        <link>/tags/%E5%8D%95%E7%BA%BF%E5%A4%9A%E6%8B%A8/</link>
        <description>Recent content in 单线多拨 on JokemeBlog</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-cn</language>
        <lastBuildDate>Tue, 26 Apr 2022 20:52:57 +0800</lastBuildDate><atom:link href="/tags/%E5%8D%95%E7%BA%BF%E5%A4%9A%E6%8B%A8/index.xml" rel="self" type="application/rss+xml" /><item>
            <title>openwrt多播</title>
            <link>/p/openwrt_multicast/</link>
            <pubDate>Tue, 26 Apr 2022 20:52:57 +0800</pubDate>
            <guid>/p/openwrt_multicast/</guid>
            <description>&lt;img src=&#34;https://cn.bing.com/th?id=OHR.MadHares_EN-CN9556585767_UHD.jpg&amp;pid=hp&amp;w=1080&amp;h=720&amp;rs=1&amp;c=4&#34; alt=&#34;Featured image of post openwrt多播&#34; /&gt;&lt;h1 id=&#34;openwrt单线多拨以及负载均衡&#34;&gt;OpenWrt单线多拨以及负载均衡&#xA;&lt;/h1&gt;&lt;p&gt;最近因为&lt;a class=&#34;link&#34; href=&#34;https://goofiest.top&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;叼毛&lt;/a&gt;在搞多播，还鼓动我也试试看，那没办法了，我只能在晚上 抽时间来搞一搞多播了。&lt;/p&gt;&#xA;&lt;p&gt;在文章开始前先简单介绍一下openwrt的网卡吧，要不然会云里雾里的&lt;/p&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;eth0 是一块物理网卡。eth0.1 eth0.2都是从此设备上虚拟出来的。&#xA;eth0.1 是vlan 1分出的lan口。&#xA;eth0.2 是vlan 2分出的wan口。&#xA;br-lan 是虚拟设备，用于LAN口设备桥接  = eth0.1 + wlan0 + wlan1&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;&lt;strong&gt;我用的Openwrt是21.02如果你使用的是L大的固件，可能略微有点不同。&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;准备工作&#34;&gt;准备工作&#xA;&lt;/h2&gt;&lt;p&gt;多播第一步，先换软件源&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sed -i &lt;span class=&#34;s1&#34;&gt;&amp;#39;s/downloads.openwrt.org/mirrors.ustc.edu.cn\/openwrt/g&amp;#39;&lt;/span&gt; /etc/opkg/distfeeds.conf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;opkg update&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;opkg install kmod-macvlan&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;因为需要安装的东西还是挺多的，用默认的软件源很慢，浪费时间，而且以后&lt;code&gt;opkg update&lt;/code&gt;也会变快一点的。&lt;/p&gt;&#xA;&lt;p&gt;首先我们先看一下自己的[接口-设备]，实在虚拟机里面演示的，因为现在是白天还在上网课，我要是动路由器，室友会把我祭天的。所以咱们就虚拟机和路由器对比起来分析。&lt;/p&gt;&#xA;&lt;p&gt;我这里的虚拟机的&lt;code&gt;eth0 eth1&lt;/code&gt;对应路由器上的&lt;code&gt;eth0.1 eth0.2&lt;/code&gt;，因为虚拟机要多少网口就有多少网口，所以不需要划分vlan，而路由器只有单wan口，所以要想多播只能靠划分vlan。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;image-20220426162102598&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;pict/image-20220426162102599.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;image-20220426162954086&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;pict/image-20220426162954086.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;可以看到路由器全部是依靠一个&lt;strong&gt;eth0&lt;/strong&gt;网卡来干所有的事情，一个网卡处理这么多接口的数据可想而知，那应该是挺吃力的。&lt;/p&gt;&#xA;&lt;h2 id=&#34;接口设置&#34;&gt;接口设置&#xA;&lt;/h2&gt;&lt;p&gt;到了这一步，咱路由器上需要删除已存在的&lt;code&gt;wan wan6&lt;/code&gt;接口，具体是什么原因呢，咱也不知道，反正就是一顿操作，先把&lt;code&gt;eth0.2&lt;/code&gt;整没了。在一顿操作创建一个接口把&lt;code&gt;eth0.2&lt;/code&gt;整回来。【常规设置】&lt;strong&gt;协议&lt;/strong&gt;随便选，&lt;strong&gt;设备&lt;/strong&gt;如果有&lt;code&gt;eth0.2&lt;/code&gt;就选，没有就手写一个，不过前提是没有动过vlan，也就是路由器上的【switch】。还有就是记得把&lt;strong&gt;开机自动运行&lt;/strong&gt;勾上。【防火墙设置】选择&lt;strong&gt;wan&lt;/strong&gt;区域就可以了。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;image-20220426175515436&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;pict/image-20220426175515436.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;至于虚拟机里面，咱不用这大怨种操作，因为咱有单独的&lt;code&gt;eth1&lt;/code&gt;接口用于拨号。&lt;/p&gt;&#xA;&lt;h2 id=&#34;多播设置&#34;&gt;多播设置&#xA;&lt;/h2&gt;&lt;h3 id=&#34;路由器设备&#34;&gt;路由器设备&#xA;&lt;/h3&gt;&lt;p&gt;咱路由器就是爽，直接新建&lt;code&gt;pppoe&lt;/code&gt;拨号接口，设置按照下图来，你要多播几次就新建几个接口&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;image-20220426200208206&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;pict/image-20220426200208206.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;还有就是在创建的时候【高级设置】-【使用网关跃点】，如果我没有记错范围是（1-255）0是数据包随机选择你创建的接口线路走。一些教程说一定要配置，其实也不一定，咱路由器要是性能可以，大马拉小车，千兆路由器，百兆宽带，完全没必要配置。反正我是这么感觉的，如果配置了反而会优先使用跃点小的，让一个累死，另一个清闲。&lt;/p&gt;&#xA;&lt;p&gt;最后看一下多播成功的效果。真让人羡慕，又多了一个公网IP，嘿嘿嘿，凡尔赛一下:）&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;image-20220426203514677&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;pict/image-20220426203514677.png&#34;&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;x86设备&#34;&gt;x86设备&#xA;&lt;/h3&gt;&lt;p&gt;那咱就有点冤大头了，咱需要先在【接口】【设备】里面添加&lt;strong&gt;macvlan&lt;/strong&gt;设备，按照下面来。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;image-20220426201923806&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;pict/image-20220426201923806.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;解释一下哈：重要的参数有下面几个&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-properties&#34; data-lang=&#34;properties&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;na&#34;&gt;设备类型&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;macvlan&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;na&#34;&gt;基设备&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;eth1 #也就是wan接口所在的网卡&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;na&#34;&gt;模式&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;桥接、私有都可以，直通只能虚拟出来一个，如果你创建第二个直通会报错&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;na&#34;&gt;设备名&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;随便写&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;na&#34;&gt;MAC&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;地址:如果你有需求就写，不写也有&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;你要多播几次，就创建几个macvlan&lt;/p&gt;&#xA;&lt;p&gt;然后再基于这些macvlan创建接口&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;image-20220426203129960&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;pict/image-20220426203129960.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;据说啊，也可以用命令创建，但是我试了，x86设备好像不太行，大家可以也试试看，我他喵的只能在21.02的路由器上用这些命令。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ip link add link eth0.2 name veth1 &lt;span class=&#34;nb&#34;&gt;type&lt;/span&gt; macvlan&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ifconfig veth1 up&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ip link add link eth0.2 name veth2 &lt;span class=&#34;nb&#34;&gt;type&lt;/span&gt; macvlan&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ifconfig veth2 up&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;&lt;img alt=&#34;image-20220426203220018&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;pict/image-20220426203220018.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;这个是效果图，虽然我是用的dhcp，但是换成pppoe一样可以用哈，我在路由器上已经播过号了，所以只能用dhcp替代一下。&lt;/p&gt;&#xA;</description>
        </item></channel>
</rss>
