El programa d'instal·lació de l'Ubuntu ha configurat el sistema per obtenir la configuració de xarxa mitjançant DHCP, Hem de canviar això, perquè un servidor ha de tindre una adreça IP estàtica.
Si un usuari des d'Internet, es disposa a visitar un dels llocs web que tenim al nostre servidor local. Si ho fa mitjançant el navegador, enviarà una petició al port 80 del router, el router necessita sabre cap a quina màquina redirigir el port 80 per satisfer la petició. Per tal de poder redirigir un port des del nostre router cap al nostre servidor, necessitarem que el nostre servidor dispose d'una adreça IP fixa. Si no tenim una IP fixa, no sabrà el nostre router cap a on apunten les peticions que vinguen des de l'exterior.
Configuració de la Xarxa
Aquest servidor web amb Ubuntu Server que estem muntant, necessita una IP fixa interna que siga dins del rang d'IP de la nostra xarxa. Vull dir amb això que si el nostre router té una IP interna o porta d'enllaç com aquesta "192.168.1.1", el nostre servidor haurá de tindre una IP dins del mateix rang per exemple la "192.168.1.11".
La configuració de xarxa en Ubuntu 18.04 ha canviat. /etc/network/interfaces, ja no és l'arxiu que s'utilitza per configurar les teues interfícies de xarxa. Veurem com configurar la targeta de xarxa des de línia d'ordres. Això és el que aprendrem:
- Eina Netplan i arxius de configuració.
- Modificació de l'arxiu de configuració yaml.
- Aplicar les modificacions fetes en la configuració.
Aquest article parla sobre la configuració a través de networkd, el que és especialment útil per a configuracions des de línia d'ordres. Si estàs en un entorn d'escriptori, tindràs instal·lat amb tota probabilitat network-manager, pel que podràs utilitzar l'eina gràfica per configurar la xarxa.
L'eina que hem de fer servir és "netplan". Aquesta eina utilitza fitxers de configuració a /etc/netplan, ací podràs trobar l'arxiu en format yaml. Si no hi ha cap arxiu, o necessites generar un de nou, pots fer-ho amb:
netplan generate
Netplan és una utilitat de línia d'ordres implementada des d'Ubuntu 17.10 la qual té la missió d'administrar i configurar de forma simple les configuracions de xarxa en tots els sistemes Ubuntu. Amb Netplan serà possible configurar una interfície de xarxa, usant l'abstracció YAML, a més Netplan pot treballar al costat dels dimonis de xarxa NetworkManager i networkd com interfícies per al kernel o nucli del sistema.
Com conéixer les interfícies de xarxa disponibles al sistema per configurar adreça IP estàtica o DHCP a l'Ubuntu 18.04?
En primer lloc, serà necessari que tinguem coneixement de les interfícies de xarxa disponibles en l'equip i per Això executarem la comanda (ifconfig o ifconfig -a) :
joan@server-roig:~$ ifconfig -a
enp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.33 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::e2cb:4eff:feb5:7c8b prefixlen 64 scopeid 0x20<link>
ether e0:cb:4e:b5:7c:8b txqueuelen 1000 (Ethernet)
RX packets 315827 bytes 53820553 (53.8 MB)
RX errors 0 dropped 12 overruns 0 frame 0
TX packets 251653 bytes 55114857 (55.1 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Bucle local)
RX packets 1556 bytes 136984 (136.9 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1556 bytes 136984 (136.9 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
En el meu cas la interfície de xarxa és 'enp2s0'.
La següent ordre (route -n), ens donarà la configuració actual del nostre router:
joan@server-roig:~$ route -n
Tabla de rutas IP del núcleo
Destino Pasarela Genmask Indic Métric Ref Uso Interfaz
0.0.0.0 192.168.1.2 0.0.0.0 UG 0 0 0 enp2s0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 enp2s0
joan@server-roig:~$
En aquest cas la passarel·la del router és '192.168.1.2'.
Un cop sapiem la IP del nostre router, (en aquest cas la 192.168.1.2), configurarem la targeta de xarxa del nostre servidor perquè siga una IP fixa, la que tinguem sempre.
Com establir una adreça IP estàtica en Ubuntu 18.04
El primer que farem és configurar una adreça IP estàtica per la interfície de xarxa enp2s0. Serà necessari obrir el fitxer de configuració de Netplan usant qualsevol editor de text (en aquest cas amb nano):
sudo nano /etc/netplan/01-netcfg.yaml
Nota: Si l'instal·lador de distribució no crea l'arxiu YAML, aquest es pot generar amb la configuració requerida per als processadors executant la següent comanda: 'sudo netplan generate'.
En accedir a l'arxiu de configuració veurem el següent:
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
version: 2
renderer: networkd
ethernets:
enp2s0:
dhcp4: yes
Podem veure que per defecte es desplega la interfície de xarxa activa, en aquest cas enp2s0, alli afegiremr el següent sota la secció ethernets - enp2s0:
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
version: 2
renderer: networkd
ethernets:
enp2s0:
dhcp4: no
dhcp6: no
addresses: [192.168.1.3/24]
gateway4: 192.168.1.2
nameservers:
addresses: [80.58.61.250,80.58.61.254]
On addresses: [8.8.8.8,8.8.4.4] són els dns de google, i addresses: [80.58.61.250,80.58.61.254] són els dns de telefònica.
IMPORTANT: Importa la sagnia de les línies, afegiu les línies com es mostren dalt.
- address - L'adreça IP és una cadena d'identificació única expressada com quatre nombres decimals que van de zero (0) a 2255 (255) separats per punts, amb cada un dels quatre nombres que representen vuit (8) bits de la direcció d'una longitud total de trenta-dos (32) bits per al conjunt de la direcció.
- netmask - La màscara de subxarxa és una màscara de bits local que separen les parts d'una adreça IP significativa de la xarxa a partir dels bits significatius per a la subxarxa. Per exemple, en una xarxa de classe C, la màscara de xarxa estàndard és 255.255.255.0 que emmascara els tres primers bytes de l'adreça IP i permet que l'últim byte de l'adreça IP que està disponible per especificar els hosts de la subxarxa.
- network - L'adreça de xarxa representa els bytes que componen la part de xarxa d'una adreça IP. Per exemple, el host 12.128.1.2 en una xarxa de classe utilitzaria 12.0.0.0 com adreça de xarxa, on els dotze (12) representa el primer byte de l'adreça IP (la part de la xarxa) i els zeros (0) en tots els tres bytes restants per representar els valors d'hostes potencials.
- gateway - Un Gateway Address és l'adreça IP a través del qual una determinada xarxa o host en una xarxa, poden ser aconseguits. Si un host de xarxa vol comunicar-se amb un altre host de la xarxa, i que la principal no es troba en la mateixa xarxa, llavors s'ha d'utilitzar una passarel·la. En molts casos, la Direcció de passarel·la serà el d'un encaminador a la mateixa xarxa, que al seu torn passara el trànsit a altres xarxes o hosts, com ara els servidors d'Internet.
- dns-nameservers - Els noms de les adreces del servidor representen les adreces IP de servei de noms de domini (DNS) dels sistemes. En molts casos, aquestes adreces poden i seran proporcionats pel seu proveïdor de servei de xarxa, però molts servidors gratuïts i d'accés públic estan disponibles per al seu ús. Si no tenen un servidor DNS propi com és el nostre cas, hauran de col·locar el que els proporciona el vostre proveïdor de serveis ADSL o algun dels alternatius.
Ací els deixe alguns DNS ...
Llistat de Servidors (Domain Name Services)
Arrakis 195.5.64.2 195.5.64.6 | Arsys 217.76.128.4 217.76.129.4 | Auna 62.81.31.250 62.81.61.2 | Comunitel 212.145.4.97 212.145.4.98 |
Eresmas 62.81.236.128 62.81.236.129 | Euskatel 212.55.8.132 212.55.8.133 | Jazztel 62.151.2.65 62.151.2.65 | Metrored 80.251.75.5 80.251.75.6 |
Superbanda 212.4.96.22 212.4.96.21 | Dragonet 217.70.240.135 217.70.240.136 | Telefónica-Argentina 200.51.254.254 200.51.254.251 | Telefónica-Espanya 80.58.0.33 217.76.128.4 80.58.61.250 80.58.61.254 194.179.1.100 194.179.1.101 |
Telefónica-Perú 200.48.225.130 | Terra 194.224.52.36 194.224.52.37 195.235.113.3 | Tiscali 194.224.52.36 194.224.52.37 | Uni2 195.130.224.18 195.130.225.129 |
Wanadoo 62.37.237.140 62.37.236.252 | Ya.com 62.151.2.8 62.151.4.21 | Telefonica Colombia 200.21.200.2 200.21.200.10 200.21.200.79 200.21.200.80 | Telemex Colombia 200.118.2.66 200.118.2.85 |
Ertach o Millicom Argentina 209.99.224.24 209.99.224.25 | Anteldata ( Uruguay ) 200.40.220.245 200.40.30.245 |
Telefonica USA 213.250.128.144 213.250.128.150 |
COPACO ( Paraguay ) 201.217.1.230 201.217.1.231 |
TIGO 200.85.32.2 200.85.32.3 | Telefonica Colombia 200.21.200.2 200.21.200.10 200.21.200.79 200.21.200.80 | Telemex Colombia 200.118.2.66 200.118.2.85 | VTR Chile 200.74.121.11 200.83.1.5 190.160.0.11 |
Algunes alternatives lliures ...
COMODO Secure DNS 8.26.56.26 8.20.247.20 | Google Public DNS 8.8.8.8 8.8.4.4 | OpenDNS 208.67.222.222 208.67.220.220 |
Reiniciem la xarxa per aplicar els canvis
Apliquem els canvis amb netplan apply, i reiniciem la xarxa amb systemctl restart networking:
joan@server-roig:~$ sudo netplan apply
joan@server-roig:~$ sudo systemctl restart networking
Per veure la nova configuració de la nostra targeta de xarxa teclegem ifconfig:
joan@server-roig:~$ ifconfig
enp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.3 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::e2cb:4eff:feb5:7c8b prefixlen 64 scopeid 0x20<link>
ether e0:cb:4e:b5:7c:8b txqueuelen 1000 (Ethernet)
RX packets 315827 bytes 53820553 (53.8 MB)
RX errors 0 dropped 12 overruns 0 frame 0
TX packets 251653 bytes 55114857 (55.1 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Bucle local)
RX packets 1556 bytes 136984 (136.9 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1556 bytes 136984 (136.9 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Si volem obtenir ajuda sobre netplan podem executar la següent ordre:
man netplan
Ordres Netplan
Netplan genera els arxius de configuració en format YAML dins de la carpeta '/etc/netplan', que seran usats per 'systemd-networkd'.
networkctl: Mostra informació dels diferents dispositius de la xarxa:
joan@server-roig:~$ networkctl
IDX LINK TYPE OPERATIONAL SETUP
1 lo loopback carrier unmanaged
2 enp2s0 ether routable configured
networkctl status: Mostrarà l'estat de les adreces IP del sistema:
oan@server-roig:~$ networkctl status
● State: routable
Address: 192.168.1.3 on enp2s0
fe80::e2cb:4eff:feb5:7c8b on enp2s0
Gateway: 192.168.1.2 (TP-LINK TECHNOLOGIES CO.,LTD.) on enp2s0
DNS: 80.58.61.250
80.58.61.254
networkctl status $dispositiu: Tornará els detalls d'un dispositiu en concret:
joan@server-roig:~$ networkctl status enp2s0
● 2: enp2s0
Link File: /lib/systemd/network/99-default.link
Network File: /run/systemd/network/10-netplan-enp2s0.network
Type: ether
State: routable (configured)
Path: pci-0000:02:00.0
Driver: r8169
Vendor: Realtek Semiconductor Co., Ltd.
Model: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (M3A78 Series Motherboard)
HW Address: e0:cb:4e:b5:7c:8b (ASUSTek COMPUTER INC.)
Address: 192.168.1.3
fe80::e2cb:4eff:feb5:7c8b
Gateway: 192.168.1.2 (TP-LINK TECHNOLOGIES CO.,LTD.)
DNS: 80.58.61.250
80.58.61.254
Maneig remot
Connexió remota via ssh (clients Linux)
Per connectar-nos des d'un altre ordinador connectat a la nostra xarxa interna, haurem d'obrir una Terminal des de l'ordinador que vulguem connectar-nos i executem ssh nom_usuari@ip_del_servidor, pel tant segons aquests eixamples:
ssh
El sistema ens preguntarà la contrasenya i llest. Ja estem dins del nostre servidor com si tinguérem el monitor connectat però en una finestra dins del nostre sistema operatiu.
Connexió remota via ssh (clients Windows)
Els clients windows poden utilitzar l'aplicació PuTTy connection manager; és una implementació lliure de Telnet i SSH per a plataformes Windows i Unix, amb un emulador de terminal xterm.
PuTTY: A Free Telnet/SSH Client - PuTTY Download Page
Transferència remota d'arxius via sFTP
Transferència remota d'arxius via sFTP (clients Linux)
OpenSSH ens ofereix la possibilitat de connectar-nos al nostre servidor remotament des de la Terminal i també pot fer que ens connectem en xarxa gràcies a sFTP. Aquest és l'FTP segur de SSH que ens ofereix la possibilitat de connectar-nos per una via segura com és la de SSH des d'un explorador d'arxius com pot ser el que ve per defecte a Gnome anomenat Nautilus.
Des d'un ordinador client amb Linux Ubuntu o Debian connectat al router (com és el meu cas), tan sols hem d'anar a la pestanya (Llocs) o al directori Xarxa, després a (Connecta't a un servidor...) o (Afegeix una carpeta de xarxa). Amb aquest Frontend de l'Ubuntu i Debian, podem connectar-nos a diferents serveis remots.
Per connectar-nos via (sFTP) seleccionem com a Tipus de servei (SSH), seguidament a l'apartat Servidor introduïm l'adreça IP fixa del nostre servidor web i en el nom d'usuari l'usuari que usem al servidor. Premem sobre la casella (Afegir l'adreça d'interés) i li donem un nom al marcador, premem sobre el botó (Connecta) i ens demanarà la nostra contrasenya d'usuari, la introduïm i accedirem a tot el disc du.
Des d'ací i molt còmodament podrem pujar i baixar fitxers al nostre servidor web, com si es tractés d'un disc dur mes.
Transferència remota d'arxius via sFTP (client Windows, linux, Mac OS X)
Per clients windows, Linux i Mac OS X podeu utilitzar l'aplicació FileZilla (client); FileZilla és un client FTP multiplataforma de codi obert i programari lliure. Suporta els protocols FTP, SFTP i FTP sobre SSL/TLS (FTPS).
FileZilla - La solució FTP lliure - FileZilla - Client
Ja tenim el nostre servidor amb Ubuntu Server instal·lat, OpenSSH funcionant, IP fixa de la targeta de xarxa configurada i podem connectar-nos remotament des d'una Terminal via ssh, a més de poder navegar, pujar i baixar arxius pel nostre disc dur remotament, des d'un altre ordinador amb un client compatible sFTP o SSH.
Nota: Ja no necessitem estrictament tindre monitor si disposem d'un altre ordinador connectat al router o la xarxa, ja que podrem accedir per SSH des d'un altre ordinador pel seu Terminal.