Ubuntu Server Guide Changes, errors and bugs


Download 1.27 Mb.
Pdf ko'rish
bet6/37
Sana09.10.2020
Hajmi1.27 Mb.
#132985
1   2   3   4   5   6   7   8   9   ...   37
Bog'liq
ubuntu-server-guide


Resources
• There are man pages for TCP and IP that contain more useful information.
• Also, see the TCP/IP Tutorial and Technical Overview IBM Redbook.
• Another resource is O’Reilly’s TCP/IP Network Administration.
Network Configuration
Ubuntu ships with a number of graphical utilities to configure your network devices. This document is geared
toward server administrators and will focus on managing your network on the command line.
Ethernet Interfaces
Ethernet interfaces are identified by the system using predictable network interface names. These names
can appear as eno1 or enp0s25. However, in some cases an interface may still use the kernel eth# style of
naming.
Identify Ethernet Interfaces
To quickly identify all available Ethernet interfaces, you can use the ip command as shown below.
i p a
1 : l o :  mtu 65536 q d i s c noqueue s t a t e UNKNOWN group
d e f a u l t q l e n 1000
l i n k / l o o p b a c k 0 0 : 0 0 : 0 0 : 0 0 : 0 0 : 0 0 brd 0 0 : 0 0 : 0 0 : 0 0 : 0 0 : 0 0
i n e t 1 2 7 . 0 . 0 . 1 / 8 s c o p e h o s t l o
v a l i d _ l f t f o r e v e r p r e f e r r e d _ l f t f o r e v e r
i n e t 6 : : 1 / 1 2 8 s c o p e h o s t
v a l i d _ l f t f o r e v e r p r e f e r r e d _ l f t f o r e v e r
2 : enp0s25 :  mtu 1500 q d i s c noqueue s t a t e UP
group d e f a u l t q l e n 1000
l i n k / e t h e r 0 0 : 1 6 : 3 e : e2 : 5 2 : 4 2 brd f f : f f : f f : f f : f f : f f l i n k −n e t n s i d 0
i n e t 1 0 . 1 0 2 . 6 6 . 2 0 0 / 2 4 brd 1 0 . 1 0 2 . 6 6 . 2 5 5 s c o p e g l o b a l dynamic e t h 0
v a l i d _ l f t 3257 s e c p r e f e r r e d _ l f t 3257 s e c
i n e t 6 f e 8 0 : : 2 1 6 : 3 e f f : f e e 2 : 5 2 4 2 / 6 4 s c o p e l i n k
50

v a l i d _ l f t f o r e v e r p r e f e r r e d _ l f t f o r e v e r
Another application that can help identify all network interfaces available to your system is the lshw command.
This command provides greater details around the hardware capabilities of specific adapters. In the example
below, lshw shows a single Ethernet interface with the logical name of eth0 along with bus information,
driver details and all supported capabilities.
sudo lshw − c l a s s network
*−network
d e s c r i p t i o n : E t h e r n e t i n t e r f a c e
pr o d u c t : MT26448 [ ConnectX EN 10GigE , PCIe 2 . 0 5GT/ s ]
vendor : Mellanox T e c h n o l o g i e s
p h y s i c a l i d : 0
bus i n f o : pci@0004 : 0 1 : 0 0 . 0
l o g i c a l name : e t h 4
v e r s i o n : b0
s e r i a l : e4 : 1 d : 2 d : 6 7 : 8 3 : 5 6
s l o t : U78CB . 0 0 1 . WZS09KB−P1−C6−T1
s i z e : 10 Gbit / s
c a p a c i t y : 10 Gbit / s
width : 64 b i t s
c l o c k : 33MHz
c a p a b i l i t i e s : pm vpd msix p c i e x p r e s s bus_master c a p _ l i s t e t h e r n e t
p h y s i c a l f i b r e 10000 bt−f d
c o n f i g u r a t i o n : a u t o n e g o t i a t i o n=o f f b r o a d c a s t=y e s d r i v e r=mlx4_en
d r i v e r v e r s i o n =4.0−0 duplex= f u l l f i r m w a r e = 2 . 9 . 1 3 2 6 i p = 1 9 2 . 1 6 8 . 1 . 1
l a t e n c y =0 l i n k=y e s m u l t i c a s t=y e s p o r t=f i b r e s p e e d =10Gbit / s
r e s o u r c e s : iomemory :24000 −23 f f f i r q : 4 8 1 memory : 3 f e 2 0 0 0 0 0 0 0 0 −3
f e 2 0 0 0 f f f f f memory:240000000000 −240007 f f f f f f
Ethernet Interface Logical Names
Interface logical names can also be configured via a netplan configuration. If you would like control which
interface receives a particular logical name use the match and set-name keys. The match key is used to find
an adapter based on some criteria like MAC address, driver, etc. Then the set-name key can be used to
change the device to the desired logial name.
network :
v e r s i o n : 2
r e n d e r e r : networkd
e t h e r n e t s :
eth_lan0 :
dhcp4 : t r u e
match :
macaddress : 0 0 : 1 1 : 2 2 : 3 3 : 4 4 : 5 5
s e t −name : eth_lan0
Ethernet Interface Settings
ethtool is a program that displays and changes Ethernet card settings such as auto-negotiation, port speed,
duplex mode, and Wake-on-LAN. The following is an example of how to view supported features and con-
figured settings of an Ethernet interface.
51

sudo e t h t o o l e t h 4
S e t t i n g s f o r e t h 4 :
Supported p o r t s : [ FIBRE ]
Supported l i n k modes :
10000 baseT / F u l l
Supported pause frame u s e : No
Su pports auto−n e g o t i a t i o n : No
Supported FEC modes : Not r e p o r t e d
A d v e r t i s e d l i n k modes :
10000 baseT / F u l l
A d v e r t i s e d pause frame u s e : No
A d v e r t i s e d auto−n e g o t i a t i o n : No
A d v e r t i s e d FEC modes : Not r e p o r t e d
Speed : 10000Mb/ s
Duplex : F u l l
Port : FIBRE
PHYAD: 0
T r a n s c e i v e r : i n t e r n a l
Auto−n e g o t i a t i o n : o f f
Su pports Wake−on : d
Wake−on : d
Current message l e v e l : 0 x00000014 ( 2 0 )
l i n k ifdown
Link d e t e c t e d : y e s
IP Addressing
The following section describes the process of configuring your systems IP address and default gateway
needed for communicating on a local area network and the Internet.
Temporary IP Address Assignment
For temporary network configurations, you can use the ip command which is also found on most other
GNU/Linux operating systems. The ip command allows you to configure settings which take effect immedi-
ately, however they are not persistent and will be lost after a reboot.
To temporarily configure an IP address, you can use the ip command in the following manner. Modify the
IP address and subnet mask to match your network requirements.
sudo i p addr add 1 0 . 1 0 2 . 6 6 . 2 0 0 / 2 4 dev enp0s25
The ip can then be used to set the link up or down.
i p l i n k s e t dev enp0s25 up
i p l i n k s e t dev enp0s25 down
To verify the IP address configuration of enp0s25, you can use the ip command in the following manner.
i p a d d r e s s show dev enp0s25
1 0 : enp0s25 :  mtu 1500 q d i s c noqueue s t a t e UP
group d e f a u l t q l e n 1000
l i n k / e t h e r 0 0 : 1 6 : 3 e : e2 : 5 2 : 4 2 brd f f : f f : f f : f f : f f : f f l i n k −n e t n s i d 0
i n e t 1 0 . 1 0 2 . 6 6 . 2 0 0 / 2 4 brd 1 0 . 1 0 2 . 6 6 . 2 5 5 s c o p e g l o b a l dynamic e t h 0
v a l i d _ l f t 2857 s e c p r e f e r r e d _ l f t 2857 s e c
i n e t 6 f e 8 0 : : 2 1 6 : 3 e f f : f e e 2 : 5 2 4 2 / 6 4 s c o p e l i n k
v a l i d _ l f t f o r e v e r p r e f e r r e d _ l f t f o r e v e r 6
52

To configure a default gateway, you can use the ip command in the following manner. Modify the default
gateway address to match your network requirements.
sudo i p r o u t e add d e f a u l t v i a 1 0 . 1 0 2 . 6 6 . 1
To verify your default gateway configuration, you can use the ip command in the following manner.
i p r o u t e show
d e f a u l t v i a 1 0 . 1 0 2 . 6 6 . 1 dev e t h 0 p r o t o dhcp s r c 1 0 . 1 0 2 . 6 6 . 2 0 0 m e t r i c 100
1 0 . 1 0 2 . 6 6 . 0 / 2 4 dev e t h 0 p r o t o k e r n e l s c o p e l i n k s r c 1 0 . 1 0 2 . 6 6 . 2 0 0
1 0 . 1 0 2 . 6 6 . 1 dev e t h 0 p r o t o dhcp s c o p e l i n k s r c 1 0 . 1 0 2 . 6 6 . 2 0 0 m e t r i c 100
If you require DNS for your temporary network configuration, you can add DNS server IP addresses in the file
/etc/resolv .conf. In general, editing /etc/resolv .conf directly is not recommanded, but this is a temporary
and non-persistent configuration. The example below shows how to enter two DNS servers to /etc/resolv .
conf, which should be changed to servers appropriate for your network. A more lengthy description of the
proper persistent way to do DNS client configuration is in a following section.
nameserver 8 . 8 . 8 . 8
nameserver 8 . 8 . 4 . 4
If you no longer need this configuration and wish to purge all IP configuration from an interface, you can
use the ip command with the flush option as shown below.
i p addr f l u s h e t h 0
Note
Flushing the IP configuration using the ip command does not clear the contents of /etc/resolv
.conf. You must remove or modify those entries manually, or re-boot which should also cause
/etc/resolv .conf, which is a symlink to /run/systemd/resolve/stub−resolv.conf, to be re-written.
Dynamic IP Address Assignment (DHCP Client)
To configure your server to use DHCP for dynamic address assignment, create a netplan configuration in
the file /etc/netplan/99_config.yaml. The example below assumes you are configuring your first Ethernet
interface identified as enp3s0.
network :
v e r s i o n : 2
r e n d e r e r : networkd
e t h e r n e t s :
enp3s0 :
dhcp4 : t r u e
The configuration can then be applied using the netplan command.
sudo n e t p l a n apply
Static IP Address Assignment
To configure your system to use static address assignment, create a netplan configuration in the file /etc
/netplan/99_config.yaml. The example below assumes you are configuring your first Ethernet interface
identified as eth0. Change the addressesgateway4, and nameservers values to meet the requirements of your
network.
53

network :
v e r s i o n : 2
r e n d e r e r : networkd
e t h e r n e t s :
e t h 0 :
a d d r e s s e s :
− 1 0 . 1 0 . 1 0 . 2 / 2 4
gateway4 : 1 0 . 1 0 . 1 0 . 1
n a m e s e r v e r s :
s e a r c h : [ mydomain , otherdomain ]
a d d r e s s e s : [ 1 0 . 1 0 . 1 0 . 1 , 1 . 1 . 1 . 1 ]
The configuration can then be applied using the netplan command.
sudo n e t p l a n apply
Loopback Interface
The loopback interface is identified by the system as lo and has a default IP address of 127.0.0.1. It can be
viewed using the ip command.
i p a d d r e s s show l o
1 : l o :  mtu 65536 q d i s c noqueue s t a t e UNKNOWN group
d e f a u l t q l e n 1000
l i n k / l o o p b a c k 0 0 : 0 0 : 0 0 : 0 0 : 0 0 : 0 0 brd 0 0 : 0 0 : 0 0 : 0 0 : 0 0 : 0 0
i n e t 1 2 7 . 0 . 0 . 1 / 8 s c o p e h o s t l o
v a l i d _ l f t f o r e v e r p r e f e r r e d _ l f t f o r e v e r
i n e t 6 : : 1 / 1 2 8 s c o p e h o s t
v a l i d _ l f t f o r e v e r p r e f e r r e d _ l f t f o r e v e r
Name Resolution
Name resolution as it relates to IP networking is the process of mapping IP addresses to hostnames, making
it easier to identify resources on a network. The following section will explain how to properly configure
your system for name resolution using DNS and static hostname records.
DNS Client Configuration
Traditionally, the file /etc/resolv .conf was a static configuration file that rarely needed to be changed or
automatically changed via DCHP client hooks. Systemd-resolved handles name server configuration, and it
should be interacted with through the systemd−resolve command. Netplan configures systemd-resolved to
generate a list of nameservers and domains to put in /etc/resolv .conf, which is a symlink:
/ e t c / r e s o l v . c o n f −> . . / run / systemd / r e s o l v e / stub−r e s o l v . c o n f
To configure the resolver, add the IP addresses of the nameservers that are appropriate for your network to
the netplan configuration file. You can also add an optional DNS suffix search-lists to match your network
domain names. The resulting file might look like the following:
network :
v e r s i o n : 2
r e n d e r e r : networkd
e t h e r n e t s :
enp0s25 :
a d d r e s s e s :
54

− 1 9 2 . 1 6 8 . 0 . 1 0 0 / 2 4
gateway4 : 1 9 2 . 1 6 8 . 0 . 1
n a m e s e r v e r s :
s e a r c h : [ mydomain , otherdomain ]
a d d r e s s e s : [ 1 . 1 . 1 . 1 , 8 . 8 . 8 . 8 , 4 . 4 . 4 . 4 ]
The search option can also be used with multiple domain names so that DNS queries will be appended in
the order in which they are entered. For example, your network may have multiple sub-domains to search;
a parent domain of example.com, and two sub-domains, sales .example.com and dev.example.com.
If you have multiple domains you wish to search, your configuration might look like the following:
network :
v e r s i o n : 2
r e n d e r e r : networkd
e t h e r n e t s :
enp0s25 :
a d d r e s s e s :
− 1 9 2 . 1 6 8 . 0 . 1 0 0 / 2 4
gateway4 : 1 9 2 . 1 6 8 . 0 . 1
n a m e s e r v e r s :
s e a r c h : [ example . com , s a l e s . example . com , dev . example . com ]
a d d r e s s e s : [ 1 . 1 . 1 . 1 , 8 . 8 . 8 . 8 , 4 . 4 . 4 . 4 ]
If you try to ping a host with the name of server1, your system will automatically query DNS for its Fully
Qualified Domain Name (FQDN) in the following order:
1. server1 .example.com
2. server1 . sales .example.com
3. server1 .dev.example.com
If no matches are found, the DNS server will provide a result of notfound and the DNS query will fail.
Static Hostnames
Static hostnames are locally defined hostname-to-IP mappings located in the file /etc/hosts. Entries in
the hosts file will have precedence over DNS by default. This means that if your system tries to resolve
a hostname and it matches an entry in /etc/hosts, it will not attempt to look up the record in DNS. In
some configurations, especially when Internet access is not required, servers that communicate with a limited
number of resources can be conveniently set to use static hostnames instead of DNS.
The following is an example of a hosts file where a number of local servers have been identified by simple
hostnames, aliases and their equivalent Fully Qualified Domain Names (FQDN’s).
1 2 7 . 0 . 0 . 1
l o c a l h o s t
1 2 7 . 0 . 1 . 1
ubuntu−s e r v e r
1 0 . 0 . 0 . 1 1
s e r v e r 1 s e r v e r 1 . example . com vpn
1 0 . 0 . 0 . 1 2
s e r v e r 2 s e r v e r 2 . example . com m a i l
1 0 . 0 . 0 . 1 3
s e r v e r 3 s e r v e r 3 . example . com www
1 0 . 0 . 0 . 1 4
s e r v e r 4 s e r v e r 4 . example . com f i l e
Note
In the above example, notice that each of the servers have been given aliases in addition to their
proper names and FQDN’s. Server1 has been mapped to the name vpnserver2 is referred to as
mailserver3 as www, and server4 as file.
55

Name Service Switch Configuration
The order in which your system selects a method of resolving hostnames to IP addresses is controlled by
the Name Service Switch (NSS) configuration file /etc/nsswitch.conf. As mentioned in the previous section,
typically static hostnames defined in the systems /etc/hosts file have precedence over names resolved from
DNS. The following is an example of the line responsible for this order of hostname lookups in the file
/etc/nsswitch.conf.
h o s t s :
f i l e s mdns4_minimal [NOTFOUND=r e t u r n ] dns mdns4
• files first tries to resolve static hostnames located in /etc/hosts.
• mdns4_minimal attempts to resolve the name using Multicast DNS.
• [NOTFOUND=return] means that any response of notfound by the preceding mdns4_minimal
process should be treated as authoritative and that the system should not try to continue hunting for
an answer.
• dns represents a legacy unicast DNS query.
• mdns4 represents a Multicast DNS query.
To modify the order of the above mentioned name resolution methods, you can simply change the hosts:
string to the value of your choosing. For example, if you prefer to use legacy Unicast DNS versus Multicast
DNS, you can change the string in /etc/nsswitch.conf as shown below.
h o s t s :
f i l e s dns [NOTFOUND=r e t u r n ] mdns4_minimal mdns4
Bridging
Bridging multiple interfaces is a more advanced configuration, but is very useful in multiple scenarios. One
scenario is setting up a bridge with multiple network interfaces, then using a firewall to filter traffic between
two network segments. Another scenario is using bridge on a system with one interface to allow virtual
machines direct access to the outside network. The following example covers the latter scenario.
Configure the bridge by editing your netplan configuration found in /etc/netplan/:
network :
v e r s i o n : 2
r e n d e r e r : networkd
e t h e r n e t s :
enp3s0 :
dhcp4 : no
b r i d g e s :
br0 :
dhcp4 : y e s
i n t e r f a c e s :
− enp3s0
Note
Enter the appropriate values for your physical interface and network.
Now apply the configuration to enable the bridge:
sudo n e t p l a n apply
The new bridge interface should now be up and running. The brctl provides useful information about the
state of the bridge, controls which interfaces are part of the bridge, etc. See man brctl for more information.
56

Resources
• The Ubuntu Wiki Network page has links to articles covering more advanced network configuration.
• The netplan website has additional examples and documentation.
• The netplan man page has more information on netplan.
• The systemd-resolve man page has details on systemd-resolve command.
• The systemd-resolved man page has more information on systemd-resolved service.
• For more information on bridging see the netplan.io examples page and the Linux Foundation’s
Networking-Bridge page.
Dynamic Host Configuration Protocol (DHCP)
The Dynamic Host Configuration Protocol (DHCP) is a network service that enables host computers to
be automatically assigned settings from a server as opposed to manually configuring each network host.
Computers configured to be DHCP clients have no control over the settings they receive from the DHCP
server, and the configuration is transparent to the computer’s user.
The most common settings provided by a DHCP server to DHCP clients include:
• IP address and netmask
• IP address of the default-gateway to use
• IP adresses of the DNS servers to use
However, a DHCP server can also supply configuration properties such as:
• Host Name
• Domain Name
• Time Server
• Print Server
The advantage of using DHCP is that changes to the network, for example a change in the address of the
DNS server, need only be changed at the DHCP server, and all network hosts will be reconfigured the next
time their DHCP clients poll the DHCP server. As an added advantage, it is also easier to integrate new
computers into the network, as there is no need to check for the availability of an IP address. Conflicts in
IP address allocation are also reduced.
A DHCP server can provide configuration settings using the following methods:
• Manual allocation (MAC address)
This method entails using DHCP to identify the unique hardware address of each network card con-
nected to the network and then continually supplying a constant configuration each time the DHCP
client makes a request to the DHCP server using that network device. This ensures that a particular
address is assigned automatically to that network card, based on it’s MAC address.
• Dynamic allocation (address pool)
In this method, the DHCP server will assign an IP address from a pool of addresses (sometimes also
called a range or scope) for a period of time or lease, that is configured on the server or until the client
informs the server that it doesn’t need the address anymore. This way, the clients will be receiving
their configuration properties dynamically and on a “first come, first served” basis. When a DHCP
client is no longer on the network for a specified period, the configuration is expired and released back
to the address pool for use by other DHCP Clients. This way, an address can be leased or used for a
57

period of time. After this period, the client has to renegociate the lease with the server to maintain
use of the address.
• Automatic allocation
Using this method, the DHCP automatically assigns an IP address permanently to a device, selecting
it from a pool of available addresses. Usually DHCP is used to assign a temporary address to a client,
but a DHCP server can allow an infinite lease time.
The last two methods can be considered “automatic” because in each case the DHCP server assigns an
address with no extra intervention needed. The only difference between them is in how long the IP address
is leased, in other words whether a client’s address varies over time. The DHCP server Ubuntu makes
available is dhcpd (dynamic host configuration protocol daemon), which is easy to install and configure and
will be automatically started at system boot.
Installation
At a terminal prompt, enter the following command to install dhcpd:
sudo apt i n s t a l l i s c −dhcp−s e r v e r
NOTE: dhcpd’s messages are being sent to syslog. Look there for diagnostics messages.
Configuration
You will probably need to change the default configuration by editing /etc/dhcp/dhcpd.conf to suit your
needs and particular configuration.
Most commonly, what you want to do is assign an IP address randomly. This can be done with settings as
follows:
# minimal sample / e t c / dhcp / dhcpd . c o n f
d e f a u l t −l e a s e −time 6 0 0 ;
max−l e a s e −time 7 2 0 0 ;
s u b n e t 1 9 2 . 1 6 8 . 1 . 0 netmask 2 5 5 . 2 5 5 . 2 5 5 . 0 {
r a n g e 1 9 2 . 1 6 8 . 1 . 1 5 0 1 9 2 . 1 6 8 . 1 . 2 0 0 ;
o p t i o n r o u t e r s 1 9 2 . 1 6 8 . 1 . 2 5 4 ;
o p t i o n domain−name−s e r v e r s 1 9 2 . 1 6 8 . 1 . 1 , 1 9 2 . 1 6 8 . 1 . 2 ;
o p t i o n domain−name ”mydomain . example ” ;
}
This will result in the DHCP server giving clients an IP address from the range 192.168.1.150-192.168.1.200.
It will lease an IP address for 600 seconds if the client doesn’t ask for a specific time frame. Otherwise the
maximum (allowed) lease will be 7200 seconds. The server will also “advise” the client to use 192.168.1.254
as the default-gateway and 192.168.1.1 and 192.168.1.2 as its DNS servers.
You also may need to edit /etc/default/isc−dhcp−server to specify the interfaces dhcpd should listen to.
INTERFACESv4=”e t h 4 ”
After changing the config files you have to restart the dhcpd service:
sudo s y s t e m c t l r e s t a r t i s c −dhcp−s e r v e r . s e r v i c e
58

Download 1.27 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   37




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling