{"id":6205,"date":"2019-01-29T09:45:16","date_gmt":"2019-01-29T15:45:16","guid":{"rendered":"https:\/\/www.poweradmin.com\/blog\/?p=6205"},"modified":"2019-02-14T16:30:57","modified_gmt":"2019-02-14T22:30:57","slug":"how-to-configure-a-multicast-linux-network","status":"publish","type":"post","link":"https:\/\/www.poweradmin.com\/blog\/how-to-configure-a-multicast-linux-network\/","title":{"rendered":"How to Configure a Multicast Linux Network"},"content":{"rendered":"<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"color: #000000;\"><strong><span style=\"font-family: Arial, sans-serif;\">By Des Nnochiri<\/span><\/strong><\/span><\/p>\n<p>\u00a0<\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">In a world where consumer-level computing technology has been largely dominated by Windows, many users remain unaware of the need for administrators to configure and maintain network hardware and environments based on the Linux operating system. But Linux in its various distributions and the Unix operating system from which they derive have for decades provided the backbone for the core systems that make consumer-level computing and indeed many aspects of daily life possible. Banking, record-keeping, aviation, urban infrastructure; for years, such essential services have been run on the basis of Unix and its offshoots.<\/span><\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">\u00a0<\/span><\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">As digital technology evolves, networks have been called upon to transmit increasing numbers of video, audio or data streams to multiple destinations, making the need for effective network configuration that much more critical. In this guide, we\u2019ll be looking at how to configure a Linux network, with a particular focus on what\u2019s known as multicast transactions.<\/span><\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">\u00a0<\/span><\/p>\n<h2><span style=\"font-family: 'Arial',sans-serif;\">Linux Networking Basics<\/span><\/h2>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">\u00a0<\/span><\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">Linux can support multiple devices, easily managing multiple network interface adapters. Laptops set up for Linux will typically include both wired and wireless interfaces, and may also support WiMax interfaces for cellular networks. Not only do Linux desktop systems support multiple network interfaces, but they can also be used as a multi-network client or as a router for an internal network.<\/span><\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">\u00a0<\/span><\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">By convention, Linux device names are numbered, beginning at zero and counting upwards. So, for example, a system running two Ethernet cards could have two devices, labeled \/dev\/eth0 and \/dev\/eth1. <\/span><\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">\u00a0<\/span><\/p>\n<h2><span style=\"font-family: 'Arial',sans-serif;\">Network Interface Configuration Files<\/span><\/h2>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">\u00a0<a href=\"https:\/\/www.poweradmin.com\/blog\/wp-content\/uploads\/2019\/01\/yolinux.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-6214\" src=\"https:\/\/www.poweradmin.com\/blog\/wp-content\/uploads\/2019\/01\/yolinux-300x118.png\" alt=\"\" width=\"400\" height=\"157\" srcset=\"https:\/\/www.poweradmin.com\/blog\/wp-content\/uploads\/2019\/01\/yolinux-300x118.png 300w, https:\/\/www.poweradmin.com\/blog\/wp-content\/uploads\/2019\/01\/yolinux-768x302.png 768w, https:\/\/www.poweradmin.com\/blog\/wp-content\/uploads\/2019\/01\/yolinux.png 865w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\"><\/a><\/span><\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">(Image Source: <\/span><span style=\"font-family: 'Arial',sans-serif;\"><a href=\"http:\/\/www.yolinux.com\/TUTORIALS\/LinuxTutorialNetworking.html\" rel=\"nofollow\" target=\"_blank\">YoLinux.com<img class=\"extlink-icon\" src=\"https:\/\/www.poweradmin.com\/blog\/wp-content\/plugins\/external-links-nofollow-open-in-new-tab-favicon\/images\/extlink.png\"><\/a><\/span><span style=\"font-family: 'Arial',sans-serif; color: black;\">)<\/span><\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">\u00a0<\/span><\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">For Linux, every network interface has its own configuration file, which is stored in the \/etc\/sysconfig\/network-scripts directory. Other files in that directory are scripts used to start, stop, and perform various network configuration tasks.<\/span><\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">\u00a0<\/span><\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">Each network interface has a configuration file named ifcfg-&lt;interface-name&gt;X. Here, X is the number of the interface, starting with zero or 1, depending on the naming convention that\u2019s in use.<\/span><\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">\u00a0<\/span><\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">This example file defines a static IP address configuration for a CentOS 6 server installation.<\/span><\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/www.poweradmin.com\/blog\/wp-content\/uploads\/2019\/01\/opensource.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-6218 alignleft\" src=\"https:\/\/www.poweradmin.com\/blog\/wp-content\/uploads\/2019\/01\/opensource-300x151.png\" alt=\"\" width=\"400\" height=\"201\" srcset=\"https:\/\/www.poweradmin.com\/blog\/wp-content\/uploads\/2019\/01\/opensource-300x151.png 300w, https:\/\/www.poweradmin.com\/blog\/wp-content\/uploads\/2019\/01\/opensource.png 713w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\"><\/a><\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">(Image Source: <\/span><span style=\"font-family: 'Arial',sans-serif;\"><a href=\"https:\/\/opensource.com\/life\/16\/6\/how-configure-networking-linux\" rel=\"nofollow\" target=\"_blank\">opensource.com<img class=\"extlink-icon\" src=\"https:\/\/www.poweradmin.com\/blog\/wp-content\/plugins\/external-links-nofollow-open-in-new-tab-favicon\/images\/extlink.png\"><\/a><\/span><span style=\"font-family: 'Arial',sans-serif; color: black;\">)<\/span><\/p>\n<p>\u00a0<\/p>\n<h2><span style=\"font-family: 'Arial',sans-serif;\">Naming Conventions<\/span><\/h2>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">\u00a0<\/span><\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif;\"><a href=\"https:\/\/opensource.com\/life\/16\/6\/how-configure-networking-linux\" rel=\"nofollow\" target=\"_blank\">Over the years<img class=\"extlink-icon\" src=\"https:\/\/www.poweradmin.com\/blog\/wp-content\/plugins\/external-links-nofollow-open-in-new-tab-favicon\/images\/extlink.png\"><\/a><\/span><span style=\"font-family: 'Arial',sans-serif; color: black;\">, the naming conventions for Linux network interfaces have evolved from the initial simplicity of \u201cethX\u201d and its derivatives. Such names are still used by the CentOS 6.x distribution. But the newest naming conventions\u2014as used by Linux distributions such as RHEL 7, CentOS 7, and the more recent releases of Fedora\u2014have forms like eno1 and enp0s3.<\/span><\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">\u00a0<\/span><\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">These conventions are relevant, as the addition of a new network interface often forces the renaming of existing interfaces , with the attendant risk of breaking links and syntax in associated network scripts and configurations.\u00a0\u00a0\u00a0 <\/span><\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">\u00a0<\/span><\/p>\n<h2><span style=\"font-family: 'Arial',sans-serif;\">Knowing What to Configure<\/span><\/h2>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">\u00a0<\/span><\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">Linux interface configuration files offer a range of options , and as with any network, establishing which aspects to configure constitutes much of the hard work. Options for Red Hat Linux-based distributions will serve as an example. Among the more common configuration options are:<\/span><\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">\u00a0<\/span><\/p>\n<ul>\n<li><span style=\"font-family: 'Arial',sans-serif; color: black;\"><strong>DEVICE<\/strong>: The logical name of the device; e,g., eth0 or enp0s2.<\/span><\/li>\n<li><span style=\"font-family: 'Arial',sans-serif; color: black;\"><strong>TYPE<\/strong>: The type of network. This is usually Ethernet, but configurations for Token Ring may be encountered on older systems. <\/span><\/li>\n<li><span style=\"font-family: 'Arial',sans-serif; color: black;\"><strong>HWADDR<\/strong>: The MAC address of the NIC which is bound to the file; e.g., 00:16:76:02:BA:DB.<\/span><\/li>\n<li><span style=\"font-family: 'Arial',sans-serif; color: black;\"><strong>IPADDR<\/strong>: The IP Address assigned to a particular NIC; e.g., 192.168.0.10.<\/span><\/li>\n<li><span style=\"font-family: 'Arial',sans-serif; color: black;\"><strong>ONBOOT<\/strong>: An instruction to start the network on this device when the host boots. This is typically set to \u201cno\u201d so that the network doesn\u2019t start until a user logs in to the desktop. Setting this option to \u201cyes\u201d allows the network to start when no one is logged in.<\/span><\/li>\n<li><span style=\"font-family: 'Arial',sans-serif; color: black;\"><strong>BOOTPROTO<\/strong>: The boot protocol for an interface. The available options are static, DHCP, bootp, or none\u2014with \u201cnone\u201d defaulting to \u201cstatic\u201d.<\/span><\/li>\n<li><span style=\"font-family: 'Arial',sans-serif; color: black;\"><strong>BROADCAST<\/strong>: The broadcast address for the network; e.g., 192.168.0.255. <\/span><\/li>\n<li><span style=\"font-family: 'Arial',sans-serif; color: black;\"><strong>NETWORK<\/strong>: The network ID for a subnet, such as the class C ID 192.168.0.0.<\/span><\/li>\n<li><span style=\"font-family: 'Arial',sans-serif; color: black;\"><strong>NETMASK<\/strong>: The netmask for a subnet; e.g., the class C mask 255.255.255.0.<\/span><\/li>\n<li><span style=\"font-family: 'Arial',sans-serif; color: black;\"><strong>GATEWAY<\/strong>: The network router or default gateway for a subnet; e.g., 192.168.0.254.<\/span><\/li>\n<li><span style=\"font-family: 'Arial',sans-serif; color: black;\"><strong>SEARCH<\/strong>: The DNS domain name to search for when doing lookups on unqualified hostnames such as \u201cexample.com\u201d.<\/span><\/li>\n<li><span style=\"font-family: 'Arial',sans-serif; color: black;\"><strong>DNS1<\/strong>: The primary DNS server (e.g., 192.168.0.254), which is a server on the local network. <\/span><\/li>\n<li><span style=\"font-family: 'Arial',sans-serif; color: black;\"><strong>DNS2<\/strong>: The secondary DNS server (e.g., 8.8.8.8), which is one of the free Google DNS servers. Tertiary DNS servers are not supported in the interface configuration files, but a third server may be configured manually in a non-volatile resolv.conf file.<\/span><\/li>\n<li><span style=\"font-family: 'Arial',sans-serif; color: black;\"><strong>USERCTL<\/strong>: This option specifies whether non-privileged users may start and stop a network interface. The setting is either yes\/no.<\/span><\/li>\n<li><span style=\"font-family: 'Arial',sans-serif; color: black;\"><strong>IPV6INIT<\/strong>: A yes\/no setting to specify whether IPV6 protocols are applied to an interface.<\/span><\/li>\n<\/ul>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">\u00a0<\/span><\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">For DHCP networks, the only required options are BOOTPROTO, ONBOOT, and HWADDR. DNS and PEERDNS options may be inserted to override the DNS entries supplied by the DHCP server, where:<\/span><\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">\u00a0<\/span><\/p>\n<ul>\n<li><span style=\"font-family: 'Arial',sans-serif; color: black;\"><strong>PEERDNS<\/strong>: Indicates that \/etc\/resolv.conf file is to be modified by inserting the DNS server entries specified by DNS1 and DNS2 options, if the \u201cYes\u201d option is selected. \u201cNo\u201d indicates that the resolv.conf file should not be altered. \u201cYes\u201d is the default setting when DHCP is specified in the BOOTPROTO line.<\/span><\/li>\n<\/ul>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">\u00a0<\/span><\/p>\n<h2><span style=\"font-family: 'Arial',sans-serif;\">NetworkManager<\/span><\/h2>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">\u00a0<\/span><\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">In 2004, Red Hat Linux introduced NetworkManager to simplify and automate network configuration and connections\u2014particularly wireless connections. In practice, administrators often need to adjust its settings because of the way that familiar configuration functions are handled by the new layer of configuration files and scripts. This tweak has to be ongoing, as standard configuration files are subject to being overwritten by NetworkManager every time a network is restarted, including each time the system reboots.<\/span><\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">\u00a0<\/span><\/p>\n<h2><span style=\"font-family: 'Arial',sans-serif;\">The udev Daemon <\/span><\/h2>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">\u00a0<\/span><\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">This is a kernel device manager which is supposed to provide consistent and persistent device naming for all Linux devices, including network devices and removable mass storage devices.<\/span><\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">\u00a0<\/span><\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">The udev daemon is also used to match network device names to their MAC address on the network interface. Each time a new device is added to the system, the udev device manager creates a rule to identify and name the device if a name does not already exist. The contents of the interface configuration files are used to generate the naming rules. <\/span><\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">\u00a0<\/span><\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">If an interface configuration file doesn\u2019t exist, plugging in a new device or connecting with a new wireless network causes udev to notify NetworkManager of the presence of a new device or wireless connection. NetworkManager then creates a new interface configuration file to account for this.<\/span><\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">\u00a0<\/span><\/p>\n<h2><span style=\"font-family: 'Arial',sans-serif;\">Multicast Packet Forwarding and Routing<\/span><\/h2>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">\u00a0<\/span><\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">For the most part, exchanges of data on a network are peer-to-peer unicast transactions. These would include operations such as file transfers using File Transfer Protocol (FTP) under TCP\/IP, HTTP requests to a web server, or email via SNMP.\u00a0 <\/span><\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">\u00a0<\/span><\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">But the increasingly complex nature of modern business communications and the need for networks to cater for large numbers of users or subscribers may dictate a need to transmit video, audio, or data streams to multiple nodes via one transmission stream instead of multiple individual peer to peer connections. <\/span><\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">\u00a0<\/span><\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">To reduce network loads under such conditions, <\/span><span style=\"font-family: 'Arial',sans-serif;\"><a href=\"http:\/\/www.yolinux.com\/TUTORIALS\/LinuxTutorialNetworking.html\" rel=\"nofollow\" target=\"_blank\">multicast transmission<img class=\"extlink-icon\" src=\"https:\/\/www.poweradmin.com\/blog\/wp-content\/plugins\/external-links-nofollow-open-in-new-tab-favicon\/images\/extlink.png\"><\/a><\/span><span style=\"font-family: 'Arial',sans-serif; color: black;\"> may be employed. Multicast messages are only \u201cheard\u201d by the nodes on a network that have joined the particular multicast group associated with a transmission and are specifically interested in the information that it contains. Multicast broadcasts occur via User Datagram Protocol (UDP), a protocol which supports a single packet of data with no response, verification, or acknowledgment. <\/span><\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">\u00a0<\/span><\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">Though Linux may be configured to forward packets and act as a simple router between two networks, this function does not support multicast data packets. In order to enable such packets to be forwarded and routed on the network, multicast routing software must first be installed on the system.<\/span><\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">\u00a0<\/span><\/p>\n<h2><span style=\"font-family: 'Arial',sans-serif;\">Configuring Linux for Network Multicast<\/span><\/h2>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">\u00a0<\/span><\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">The Linux kernel is Level-2 Multicast-Compliant and meets all the requirements to send, receive, or act as a router for multicast packets or datagrams. The default kernels for Red Hat and Fedora are compiled to support multicast transmission.<\/span><\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">\u00a0<\/span><\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">Multicasting begins with an application requesting multicast group membership. This request tells a multicast router to enable forwarding on the interface that the request arrived on.<\/span><\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">\u00a0<\/span><\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">In order for a process to receive multicast datagrams, it has to request the kernel to join the multicast group, and bind the port designated for receiving those datagrams. And if a process is no longer interested in the multicast group, it must send a request to the kernel to leave the group. Note that it\u2019s the kernel or host which joins the multicast group and not the process itself.<\/span><\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">\u00a0<\/span><\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">The following syntax may be used to configure the Linux kernel to support multicast routing:<\/span><\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">\u00a0<\/span><\/p>\n<ul>\n<li style=\"line-height: 150%;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">CONFIG_IP_MULTICAST=y<\/span><\/li>\n<li style=\"line-height: 150%;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">CONFIG_IP_ROUTER=y<\/span><\/li>\n<li style=\"line-height: 150%;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">CONFIG_IP_MROUTE=y<\/span><\/li>\n<li style=\"line-height: 150%;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">CONFIG_NET_IPIP=y<\/span><\/li>\n<\/ul>\n<p>\u00a0<\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">On systems with more than one IP address or network card (known as \u201cmulti-homed\u201d systems), only one device may be configured to handle multicast transmissions. Typically, Class D networks with a range of IP addresses from 224.0.0.0 to 239.255.255.255 are reserved for multicasting. <\/span><\/p>\n<p>\u00a0<\/p>\n<p><a href=\"https:\/\/www.poweradmin.com\/blog\/wp-content\/uploads\/2019\/01\/yolinux2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-6222\" src=\"https:\/\/www.poweradmin.com\/blog\/wp-content\/uploads\/2019\/01\/yolinux2-300x106.png\" alt=\"\" width=\"400\" height=\"141\" srcset=\"https:\/\/www.poweradmin.com\/blog\/wp-content\/uploads\/2019\/01\/yolinux2-300x106.png 300w, https:\/\/www.poweradmin.com\/blog\/wp-content\/uploads\/2019\/01\/yolinux2-768x270.png 768w, https:\/\/www.poweradmin.com\/blog\/wp-content\/uploads\/2019\/01\/yolinux2.png 793w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\"><\/a><\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">(Image Source: <\/span><span style=\"font-family: 'Arial',sans-serif;\"><a href=\"http:\/\/www.yolinux.com\/TUTORIALS\/LinuxTutorialNetworking.html\" rel=\"nofollow\" target=\"_blank\">YoLinux.com<img class=\"extlink-icon\" src=\"https:\/\/www.poweradmin.com\/blog\/wp-content\/plugins\/external-links-nofollow-open-in-new-tab-favicon\/images\/extlink.png\"><\/a><\/span><span style=\"font-family: 'Arial',sans-serif; color: black;\">)<\/span><\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">\u00a0<\/span><\/p>\n<p style=\"margin-bottom: .0001pt; line-height: 150%; text-autospace: none;\"><span style=\"font-family: 'Arial',sans-serif; color: black;\">Using this syntax, you can configure your Linux network for multicast routing and the transmission of video, audio, or data streams to multiple nodes. <\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>By Des Nnochiri \u00a0 In a world where consumer-level computing technology has been largely dominated by Windows, many users remain unaware of the need for administrators to configure and maintain network hardware and environments based on the Linux operating system. But Linux in its various distributions and the Unix operating system from which they derive [&hellip;]<\/p>\n","protected":false},"author":15,"featured_media":6226,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,5,447],"tags":[432,433,52,398,421,426,420,422,423,431,430,427,256,428,429,424,425],"class_list":["post-6205","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-general-it","category-how-to","category-linux","tag-configuration","tag-configure","tag-how-to","tag-linux","tag-linux-configuration","tag-linux-interface","tag-linux-network","tag-multicast-linux","tag-multicast-linux-network","tag-multicast-transmission","tag-network-configuration","tag-networkmanager","tag-red-hat","tag-udev","tag-udev-daemon","tag-unix","tag-wimax"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.poweradmin.com\/blog\/wp-json\/wp\/v2\/posts\/6205","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.poweradmin.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.poweradmin.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.poweradmin.com\/blog\/wp-json\/wp\/v2\/users\/15"}],"replies":[{"embeddable":true,"href":"https:\/\/www.poweradmin.com\/blog\/wp-json\/wp\/v2\/comments?post=6205"}],"version-history":[{"count":4,"href":"https:\/\/www.poweradmin.com\/blog\/wp-json\/wp\/v2\/posts\/6205\/revisions"}],"predecessor-version":[{"id":6225,"href":"https:\/\/www.poweradmin.com\/blog\/wp-json\/wp\/v2\/posts\/6205\/revisions\/6225"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.poweradmin.com\/blog\/wp-json\/wp\/v2\/media\/6226"}],"wp:attachment":[{"href":"https:\/\/www.poweradmin.com\/blog\/wp-json\/wp\/v2\/media?parent=6205"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.poweradmin.com\/blog\/wp-json\/wp\/v2\/categories?post=6205"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.poweradmin.com\/blog\/wp-json\/wp\/v2\/tags?post=6205"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}