Network Setup Tips: Difference between revisions
Line 260: | Line 260: | ||
With systemd 197 we have added native support for a number of different naming policies into systemd/udevd proper and made a scheme similar to biosdevname's (but generally more powerful, and closer to kernel-internal device identification schemes) the default. The following different naming schemes for network interfaces are now supported by udev natively: | With systemd 197 we have added native support for a number of different naming policies into systemd/udevd proper and made a scheme similar to biosdevname's (but generally more powerful, and closer to kernel-internal device identification schemes) the default. The following different naming schemes for network interfaces are now supported by udev natively: | ||
# Names incorporating Firmware/BIOS provided index numbers for on-board devices (example: eno1) | |||
# Names incorporating Firmware/BIOS provided PCI Express hotplug slot index numbers (example: ens1) | |||
# Names incorporating physical/geographical location of the connector of the hardware (example: enp2s0) | |||
# Names incorporating the interfaces's MAC address (example: enx78e7d1ea46da) | |||
# Classic, unpredictable kernel-native ethX naming (example: eth0) | |||
By default, systemd v197 will now name interfaces following policy 1) if that information from the firmware is applicable and available, falling back to 2) if that information from the firmware is applicable and available, falling back to 3) if applicable, falling back to 5) in all other cases. Policy 4) is not used by default, but is available if the user chooses so. | By default, systemd v197 will now name interfaces following policy 1) if that information from the firmware is applicable and available, falling back to 2) if that information from the firmware is applicable and available, falling back to 3) if applicable, falling back to 5) in all other cases. Policy 4) is not used by default, but is available if the user chooses so. | ||
This combined policy is only applied as last resort. That means, if the system has biosdevname installed, it will take precedence. If the user has added udev rules which change the name of the kernel devices these will take precedence too. Also, any distribution specific naming schemes generally take precedence. | This combined policy is only applied as last resort. That means, if the system has biosdevname installed, it will take precedence. If the user has added udev rules which change the name of the kernel devices these will take precedence too. Also, any distribution specific naming schemes generally take precedence. |
Revision as of 07:38, 24 December 2013
NST Script: nstnetcfg
See page: HowTo Setup a Server With Multiple Network Interface Adapters Using: "nstnetcfg" for a simplified means of setting up networking on an NST system.
Accessing Network Configuration Files
To easily access the network configuration files, simply use the bash alias: "cdnet":
[root@probe network-scripts]#
/etc/sysconfig/network-scripts [root@probe network-scripts]#
NST Script: nstnetcfg
HowTo_Setup_A_Server_With_Multiple_Network_Interface_Adapters_Using:_"nstnetcfg"
How To Specify A Host Name To A DHCP Server
Some times it is desirable to specify a host name at the DHCP Client to be recognized by the DHCP Server. This will allow for local host names to be resolved by their respective name on the local LAN. This works well with a DD-WRT enabled LinkSys router and bind.
To do this, add the following line to your network configuration file (Example for: eth0 - We will use file: "/etc/sysconfig/network-scripts/ifcfg-eth0" and request that the DHCP server set this system's host name to: "emachine".):
DHCP_HOSTNAME=<Your desired host name for this NST DHCP client>
Both the "network" service and the NetworkManager service support this setting for DHCP.
# # DHCP Client Config: eth0 DEVICE=eth0 BOOTPROTO=dhcp ONBOOT=yes # # Disable capabilities security feature when running dhclient so we # can run the NST dhclient exit hook script: "/etc/dhcp/dhclient.d/nst.sh". DHCLIENTARGS="-nc" # # Specify the 'dhclient' host-name option (-H) to send to the DHCP server. DHCP_HOSTNAME=emachine
How To Permanently Set The Host Name Of Your NST System
To do this, add/change the following line to the system configuration file: "/etc/sysconfig/network"
HOSTNAME=<your desired host name for this NST system>
NetworkManager will be notified of this change and automatically set the system "hostname". The example below sets the system host name to: "emachine". Typically, if this system is a DHCP client, both the "DHCP_HOSTNAME" discussed above and the "HOSTNAME" entries are set identically.
NETWORKING=yes HOSTNAME=emachine NOZEROCONF=yes
A system reboot can be done to verify all changes.
Configuring A Static IP Address
If the network your interface is connected to does not have a DHCP server, you will need to configure your system to use a static IP address. The following shows the contents of file: "/etc/sysconfig/network-scripts/ifcfg-eth0" which is used to assign a static IP address of: "192.168.12.100" to eth0 (an Ethernet interface):
DEVICE=eth0 BOOTPROTO=static IPADDR=192.168.12.100 NETMASK=255.255.255.0 NETWORK=192.168.12.0 BROADCAST=192.168.12.255 GATEWAY=192.168.12.1 ONBOOT=yes
Note 2: Make sure the NetworkManager" service is disabled: systemctl disable NetworkManager.service;
Note 3: Make sure the "network" service is enabled: systemctl enable network.service;
Configuring A Stealth Network Interface
In order to configure a stealth (i.e., A network interface with a non-binding IP Address) network interface set the BOOTPROTO setting to: "none". Example: Make network interface: "eth1" at stealth interface using this minimal configuration:
DEVICE=eth1 BOOTPROTO=none ONBOOT=yes
Restarting the Network Service
After editing any network configuration file, you should restart the network service as shown below:
[root@tmobile network-scripts]# service network restart Shutting down interface eth0: [ OK ] Shutting down loopback interface: [ OK ] Bringing up loopback interface: [ OK ] Bringing up interface eth0: [ OK ]
For "NST 15" and above use the systemctl command:
[root@tmobile network-scripts]# systemctl restart network.service
Display Routing Table
The following command can be used to display your network routing table (the -n option was included to prevent the route command from trying to resolve names):
Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
IP Aliasing (Multi-Net)
Overview
An IP Alias allows you to configure multiple IP Addresses onto a physical device (NIC). IP aliasing is known as network layer virtual hosting. It is common to use an IP Aliases with Apache Virtual Hosting.
HowTo Add An IP Alias
lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:580 errors:0 dropped:0 overruns:0 frame:0 TX packets:580 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:44887 (43.8 KiB) TX bytes:44887 (43.8 KiB) p5p1 Link encap:Ethernet HWaddr E0:69:95:B1:6E:BF inet addr:10.222.222.10 Bcast:10.222.222.255 Mask:255.255.255.0 inet6 addr: fe80::e269:95ff:feb1:6ebf/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:146101 errors:0 dropped:19 overruns:0 frame:0 TX packets:71495 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:80187453 (76.4 MiB) TX bytes:44001889 (41.9 MiB) Interrupt:46 Base address:0x6000
lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:580 errors:0 dropped:0 overruns:0 frame:0 TX packets:580 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:44887 (43.8 KiB) TX bytes:44887 (43.8 KiB) p5p1 Link encap:Ethernet HWaddr E0:69:95:B1:6E:BF inet addr:10.222.222.10 Bcast:10.222.222.255 Mask:255.255.255.0 inet6 addr: fe80::e269:95ff:feb1:6ebf/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:146101 errors:0 dropped:19 overruns:0 frame:0 TX packets:71495 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:80187453 (76.4 MiB) TX bytes:44001889 (41.9 MiB) Interrupt:46 Base address:0x6000 p5p1:0 Link encap:Ethernet HWaddr E0:69:95:B1:6E:BF inet addr:10.222.222.83 Bcast:10.222.222.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 Interrupt:46 Base address:0x6000
The IP Alias command above produced a virtual host address for the p5p1 network interface using IP Address: "10.222.222.83". IP Aliases are referred to by appending ":n" to the actual network interface device, in which "n" is an integer. In our example, we created the IP Alias on NIC: "p5p1" , with alias number "Zero (0)".
All network statistics associated with each IP Alias interface are combined with the physical network interface. To get individual statistics for an IP Aliased Interface then accounting rules would need to be used through the iptables command.
HowTo Remove An IP Alias
To remove an IP Alias use the ifconfig command "down" option:
HowTo Permanently Add An IP Alias
This procedure uses the "network" service. The following shows the contents of file: "/etc/sysconfig/network-scripts/ifcfg-p5p1:0" which is used to assign a static IP Alias address of: "10.222.222.83" to network interface: "p5p1:0"
DEVICE=p5p1:0 BOOTPROTO=static IPADDR=10.222.222.83 NETMASK=255.255.255.0 NETWORK=10.222.222.0 BROADCAST=10.222.222.255 GATEWAY=10.222.222.1 ONBOOT=yes
Note 2: Make sure the NetworkManager" service is disabled: systemctl disable NetworkManager.service;
Note 3: Make sure the "network" service is enabled: systemctl enable network.service;
Create Predictable Network Interface Names
Some information for this section was derived from the site: freedesktop.org.
Overview
Starting with v197 systemd/udev will automatically assign predictable, stable network interface names for all local Ethernet, WLAN and WWAN interfaces. This is a departure from the traditional interface naming scheme ("eth0", "eth1", "wlan0", ...), but should fix real problems.
With systemd 197 we have added native support for a number of different naming policies into systemd/udevd proper and made a scheme similar to biosdevname's (but generally more powerful, and closer to kernel-internal device identification schemes) the default. The following different naming schemes for network interfaces are now supported by udev natively:
- Names incorporating Firmware/BIOS provided index numbers for on-board devices (example: eno1)
- Names incorporating Firmware/BIOS provided PCI Express hotplug slot index numbers (example: ens1)
- Names incorporating physical/geographical location of the connector of the hardware (example: enp2s0)
- Names incorporating the interfaces's MAC address (example: enx78e7d1ea46da)
- Classic, unpredictable kernel-native ethX naming (example: eth0)
By default, systemd v197 will now name interfaces following policy 1) if that information from the firmware is applicable and available, falling back to 2) if that information from the firmware is applicable and available, falling back to 3) if applicable, falling back to 5) in all other cases. Policy 4) is not used by default, but is available if the user chooses so.
This combined policy is only applied as last resort. That means, if the system has biosdevname installed, it will take precedence. If the user has added udev rules which change the name of the kernel devices these will take precedence too. Also, any distribution specific naming schemes generally take precedence.