一步步教你如何配置Linux Multicast网络 (linux multicast 设置)

在当今互联网时代,多播(Multicast)网络成为了重要的通信技术。相对于广播(Broadcast)和单播(Unica…

在当今互联网时代,多播(Multicast)网络成为了重要的通信技术。相对于广播(Broadcast)和单播(Unicast)网络,多播网络在一定程度上提高了网络传输效率,降低了网络拥塞。特别是在视频直播、在线游戏等应用领域,多播技术得到了广泛的应用。

而在Linux系统中,我们可以通过配置网络绑定接口(Network Bonding Interface)或者通过组播(Multicast)IP地址等方式来实现多播网络。下面我们通过具体的步骤来讲解如何在Linux系统中配置多播网络。

一、准备工作

在准备配置多播网络之前,我们需要确认以下几个条件和要求:

1. 确认服务器的网卡支持组播

2. 首先需要在路由器上开启组播功能

3. 为组播使用独立的网络

4. 确认防火墙不会阻挡组播网络流量

二、配置组播IP地址

1. 创建一个新的组播组

我们需要在组播网络中创建一个新的组播组。我们可以通过指定一个全球唯一的IP地址(注意:组播地址位于224.0.0.0到239.255.255.255之间)来创建。

我们可以通过以下命令来创建新的组播组:

$ sudo ip maddr add 239.0.0.1 dev eth0

其中239.0.0.1是我们指定的组播地址,eth0是我们要将组播地址绑定到的网卡接口名。执行完以上命令后,我们可以使用以下命令来检查组播地址是否成功绑定到了网卡上:

$ ip maddr show dev eth0

2. 将主机加入组播组

创建好组播组后,我们需要把主机加入到该组中。我们可以使用以下命令将主机加入到组播组:

$ sudo ip maddr join 239.0.0.1 dev eth0

其中239.0.0.1是我们创建的组播地址,eth0是我们要将组播地址绑定到的网卡接口名。

三、启用IGMP协议

1. 安装IGMP协议

IGMP(Internet Group Management Protocol)协议是组播网络中用于管理组成员的协议。在Linux系统中,我们需要使用igmp-utils软件包来安装IGMP协议。可以使用以下命令来安装:

$ sudo apt-get install igmp-utils

2. 启用IGMP协议

安装完IGMP协议之后,我们需要启用IGMP协议来实现组成员的管理。我们可以使用以下命令来启用IGMP协议:

$ sudo sysctl net.ipv4.igmp_max_memberships=20

其中20表示更大允许的组成员数量,可以根据实际需要进行修改。执行以上命令后,我们可以使用以下命令来检查IGMP协议是否启用成功:

$ cat /proc/sys/net/ipv4/igmp_max_memberships

四、配置多播路由

1. 配置多播路由

配置多播路由是实现组播网络必不可少的步骤。我们可以使用route命令来配置多播路由。例如,以下命令可以将组播地址从eth0接口发送出去:

$ sudo route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0

其中224.0.0.0是组播地址,netmask 240.0.0.0是组播地址的子网掩码,eth0是我们要将组播地址发送出去的网卡接口名。执行以上命令后,我们可以使用以下命令来检查多播路由是否配置成功:

$ route -n

2. 检查多播路由

我们可以使用以下命令来检查多播路由是否设置成功:

$ netstat -gn

该命令可以显示组播组和组成员列表,并且显示出了每个成员的接口和组播IP地址。

五、测试多播网络

我们可以使用以下命令来检查多播网络是否正常工作:

$ ping 239.0.0.1

该命令会向创建的组播地址发送一个数据包,并且等待接收回复数据包。如果多播网络正常工作,我们应该能够接收到回复数据包。

以上就是在Linux系统中配置多播网络的具体步骤。如果你想在Linux系统中使用多播网络,可以跟着以上步骤一步步操作。配置多播网络需要注意的几个方面包括:组播组的创建、主机加入组播组、IGMP协议的启用和多播路由的配置。只有正确地完成以上步骤,我们才能够创建出一个高效稳定的多播网络。

相关问题拓展阅读:

  • linux 查看 网卡接口是否为混杂模式
  • 如何在linux 上配置NTP 时间同步

linux 查看 网卡接口是否为混杂模式

使或拿用ifconfig命令可查看当前网卡是源昌否设置为混衫裂搭杂模式

$ ifconfig

ethLinkencap:Ethernet HWaddr 00:16:31:FF:A6:2E

inet addr:192.168.9.1 Bcast:192.168.9.255 Mask:255.255.255.0

UPBROADCAST MULTICAST MTU:1500 Metric:1

RX packets:0 errors:0 dropped:0 overruns:0 frame:0

TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

Memory:000

eth1 Link encap:Ethernet HWaddr 00:16:31:FF:A6:2F

inet addr:192.168.8.48 Bcast:192.168.8.255 Mask:255.255.255.0

inet6 addr: fe80::216:31ff:feff:a61f/64 Scope:Link

UPBROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1

RX packets:errors:0 dropped:0 overruns:0 frame:0

TX packets:errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:(29.5 GiB) TX bytes:(19.6GiB)

Memory:000

loLink encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

inet6 addr: ::1/128 Scope:Host

UP LOOPBACK RUNNING MTU:Metric:1

RX packets:8873 errors:0 dropped:0 overruns:0 frame:0

TX packets:8873 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:(2.9 MiB) TX bytes:(2.9 MiB)

u0 Link encap:Ethernet HWaddr 5E:F3:FC:E1:D2:19

inet addr:169.254.95.120 Bcast:169.254.95.255 Mask:255.255.255.0

inet6 addr: fe80::5cf3:fcff:fee1:d217/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RXpackets:errors:0 dropped:0 overruns:0 frame:0

TX packets:errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:(14.1 MiB) TX bytes:(5.0 MiB)

其中UPBROADCAST RUNNING PROMISC MULTICAST的PROMISC说明网卡eth1已经设置成混杂模式。

字段含义说明:

eth0/eth1:分别表示之一块网卡和第二块网卡;

lo:表示回环测试接口,注意,这个虚拟的interface一定要存在!

u0: 表示

USB接口

的网卡;

Linkencap:表示位于OSI物理层的名称,即连接类型Ethernet(以太网)

HWaddr:表示网卡的

硬件地址

,即

MAC地址

inetaddr:表示网卡IP;

Bcast: 表示广播(broadcast ) 的地址;

Mask: 表示

子网掩码

UP:表示网卡开启状态;

BROADCAST: 表示支持广播;

MULTICAST: 表示网卡混杂模式;

RUNNING:表示网卡的网线被接上;

MULTICAST: 表示支持组播;

MTU: 表示MaximumTraission Unit

更大传输单元

(字节),即此接口一次所能传输的更大封包;

Metric: 表示路由度量值,缺省值是0;

RX:表示网络由激活到目前为止接收的

数据包

TX:表示网络由激活到目前为止发送的数据包;

collisions:表示网络信号冲突的情况;

txqueuelen:表示传输缓冲区长度大小;

Memory:表示占用内存范围。

ifconfig 可以物孙桐看罩坦到网卡是否混杂模式,如:

ifconfig eth0 看是否有“PROMISC”标志凯侍

ifconfig eth0 promisc #设置混杂模式

ifconfig eth0 -promisc #取消混杂模式

混杂模式(promiscuous mode)是电脑网络中的术语。是指一台机器的网卡能够接收所有经过它的数据流,而不论扰薯其目的地址是否是它。

一般计算机网卡都工作在非混杂模式下,此时网卡只接受来自网络端口姿笑的目的地址指向自己的数据。当网卡工作在混杂模式下时,网卡将来自接口的所迹李含有数据都捕获并交给相应的驱动程序。

网卡打开混杂模式命令如下:

通过shell命令来实现:

ifconfig wlan0 promisc 设置混杂模式

ifconfig wlan0 -promisc 取消混杂模式

监听模式(monitor)

iwconfig wlan0 mode monitor

如果没有生效,可以尝试先

ifconfig wlan0 down

iwconfig wlan0 mode monitor

ifconfig wlan0 up

如何在linux 上配置NTP 时间同步

一:NTP是网络时间同步协议,就是用来同步网络中各个计算机的时间的协议

二:NTP服务端配置

2.1、检查系统是否安装了NTP包(linux系统一般自带NTP4.2),没有安装我们直接使用yum命令在线安装: yum install ntp

2.2、NTP服务端配置文件编辑: vim /etc/ntp.conf

结果:

# @3新增-权限配置

restrict 127.127.1.0restrict 192.168.31.0 mask 255.255.255.0 nomodify notrap# @3改动-注释掉上级时间服务器地址#server 0.centos.pool.ntp.org iburst#server 1.centos.pool.ntp.org iburst#server  2.centos.pool.ntp.org iburst#server 3.centos.pool.ntp.org iburst# @4新增-上级时间服务器server 127.127.1.0 # local clockfudge 127.127.1.0 stratum 10

2.3、启动NTP时间服务器:service ntpd start

2.4、设置NTP开机自动启动:chkconfig ntpd on

2.5、查看NTP是否正常运行:netstat -tlunp | grep ntp

2.6、配置防火墙过滤规则:/in/iptables -I INPUT -p udp –dport 123 -j ACCEPT

如何配置:/etc/sysconfig/iptables 文件内配置开放udp 123端口: -A INPUT -p udp –destination-port 123 -j ACCEPT

A.服务端配置文件解释

①:设定NTP主机来源(其中prefer表示优先主机),192.168.31.134是本地的NTP服务器,所以优行中先指定从该主机同步时间。

server 192.168.7.49 prefer

server 0.rhel.pool.ntp.org

server 1.rhel.pool.ntp.org

server 2.rhel.pool.ntp.org

server 3.rhel.pool.ntp.org

②:限制你允许的这些服务器的访问类型,在旅带纤这个例子中的服务器是不容许修改运行时配置或查询您的Linux NTP服务器

restrict 192.168.0.0 mask 255.255.255.0 notrust nomodify notrap

在上例中,掩码地址扩展为255,因此从192.168.0.1-192.168.0.254的服务器都可以使用我们的NTP服务器来同步时间

#此时表示限制向从192.168.0.1-192.168.0.254这些IP段的服务器提供NTP服务。

restrict 192.168.0.0 mask 255.255.255.0 notrust nomodify notrap noquery

#设置默认策略为允许任何主机进行时间同步

restrict default ignore

三:NTP客户端配置

3.1、检查安装NTP服务有没有安装,未安装请自行安装

3.2、NTP客户端配置文件编辑:拆仿 vim /etc/ntp.conf

# @1新增-权限配置

restrict 192.168.31.0 mask 255.255.255.0 nomodify notrap

# Use public servers from the pool.ntp.org project.# Please consider joining the pool ( 注释掉原来的实际服务器地址

#server 0.centos.pool.ntp.org iburst#server 1.centos.pool.ntp.org iburst#server 2.centos.pool.ntp.org iburst#server 3.centos.pool.ntp.org iburst# @2新增-自己的时间服务器地址server 192.168.31.223 prefer 

#broadcast 192.168.1.255 autokey # broadcast server#broadcastclient # broadcast client#broadcast 224.0.1.1 autokey # multicast server#multicastclient 224.0.1.1 # multicast client#manycastserver 239.255.254.254 # manycast server#manycastclient 239.255.254.254 autokey # manycast client

3.3、手动同步一次时间:/usr/in/ntpdate

192.168.31.134 (服务端主机IP,这里需要先关闭NTP服务哦)

3.4、启动NTP服务:service ntpd start

3.5、观察时间同步状况:ntpq -p

结果:

# ntpq -p remote refid st t when poll reach delay offset jitter==============================================================================*192.168.31.134 LOCAL(0) 11 u.202 73..834

⑥查看时间同步结果:ntpstat

# ntpstat

unsynchronised

polling server every 8 s

同步失败,同步也需要时间,需等待5-10分钟再次查询:

Every 2.0s: ntpstat Tue Jul 11 16:55:synchronised to NTP server (10.10.11.247) at stratum 12 time correct to within 605 ms polling server every 128 s

时间同步完成,date一下看是不是和服务器主机时间一致

B.客户端配置文件详解

修改/etc/ntp/stpe-tickers文件,内容如下(当ntpd服务启动时,会自动与该文件中记录的上层NTP服务进行时间校对

C.系统时间与硬件时间同步

如果主从服务时间超过1000秒则不再进行同步了,这时候要手动同步,即:/usr/in/ntpdate命令,如果怕服务器时差会经常变动比较大可以再Linux中添加计划任务,例如:

10 5 * * * root /usr/in/ntpdate 192.168.31.223 && /in/hwclock -w

ntp服务,默认只会同步系统时间。如果想要让ntp同时同步硬件时间,可以设置/etc/sysconfig/ntpd文件,在/etc/sysconfig/ntpd文件中,添加 SYNC_HWCLOCK=yes 这样,就可以让硬件时间与系统时间一起同步。

拓展内容

ntpq -p各个选项相关信息

restrict 控制相关权限。

语法为: restrict IP地址 mask 子网掩码 参数

其中IP地址也可以是default ,default 就是指所有的IP

参数有以下几个:

ignore  :关闭所有的 NTP 联机服务

nomodify:客户端不能更改服务端的时间参数,但是客户端可以通过服务端进行网络校时。

notrust :客户端除非通过认证,否则该客户端来源将被视为不信任子网

noquery :不提供客户端的时间查询:用户端不能使用ntpq,ntpc等命令来查询ntp服务器

notrap :不提供trap远端登陆:拒绝为匹配的主机提供模式 6 控制消息陷阱服务。陷阱服务是 ntpdq 控制消息协议的子系统,用于远程事件日志记录程序。

nopeer :用于阻止主机尝试与服务器对等,并允许欺诈器控制时钟

kod : 访问违规时发送 KoD 包。

restrict -6 表示IPV6地址的权限设置。

root@www ~># vim /etc/ntp.conf# 1. 先处理权限方面的问题,包括放行上层伺服器以及开放区网用户来源:restrict default kod nomodify notrap nopeer noquery .centos.pool.ntp.org 的设定注解掉:server 220.130.158.71 prefer

ntpd、ntpdate的区别

下面是网上关于ntpd与ntpdate区别的相关资料。如下所示所示:

使用之前得弄清楚一个问题,ntpd与ntpdate在更新时间时有什么区别。ntpd不仅仅是时间同步服务器,它还可以做客户端与标准时间服务器进行同步时间,而且是平滑同步,并非ntpdate立即同步,在生产环境中慎用ntpdate,也正如此两者不可同时运行。

时钟的跃变,对于某些程序会导致很严重的问题。许多应用程序依赖连续的时钟——毕竟,这是一项常见的假定,即,取得的时间是线性的,一些操作,例如数据库事务,通常会地依赖这样的事实:时间不会往回跳跃。不幸的是,ntpdate调整时间的方式就是我们所说的”跃变“:在获得一个时间之后,ntpdate使用settimeofday(2)设置系统时间,这有几个非常明显的问题:

之一,这样做不安全。ntpdate的设置依赖于ntp服务器的安全性,攻击者可以利用一些软件设计上的缺陷,拿下ntp服务器并令与其同步的服务器执行某些消耗性的任务。由于ntpdate采用的方式是跳变,跟随它的服务器无法知道是否发生了异常(时间不一样的时候,唯一的办法是以服务器为准)。

第二,这样做不精确。一旦ntp服务器宕机,跟随它的服务器也就会无法同步时间。与此不同,ntpd不仅能够校准计算机的时间,而且能够校准计算机的时钟。

第三,这样做不够优雅。由于是跳变,而不是使时间变快或变慢,依赖时序的程序会出错(例如,如果ntpdate发现你的时间快了,则可能会经历两个相同的时刻,对某些应用而言,这是致命的)。因而,唯一一个可以令时间发生跳变的点,是计算机刚刚启动,但还没有启动很多服务的那个时候。其余的时候,理想的做法是使用ntpd来校准时钟,而不是调整计算机时钟上的时间。

关于linux multicast 设置的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

香港服务器首选港服(Server.HK),2H2G首月10元开通。
港服(Server.HK)(www.IDC.Net)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。

为您推荐

ssh远程超时中断的解决办法

有时我们网络正常的,但SSH连接经常出现中断的情况,以及在SSH远程时很慢的问题。 这是由于OpenSSL服务默认启用了...

Linux系统防火墙放行端口

如果您服务器内安装了宝塔面板,请直接登陆宝塔面板,安全,里面添加放行端口。如果添加后不生效,把防火墙开关一下即可。本教程...

Linux主机简单判断被CC攻击的网站命令-比较直接有效

CC攻击很容易发起,并且几乎不需要成本,导致现在的CC攻击越来越多。 大部分搞CC攻击的人,都是用在网上下载的工具,这些...

linux环境下测试get和post请求

Linux环境下测试get和post请求 ?get,post,curl   get请求 curl: curl ...

umount卸载磁盘提示target is busy

umount卸载磁盘提示target is busy. (目标忙) 的问题解决方案   umount卸载磁盘提...
返回顶部