Im Internet gibt es unzählige Informationen zum Einrichten eines Servers unter Ubuntu, aber bei jedem Schritt finden Sie Momente, die für Anfänger nicht offensichtlich sind. Ich möchte meine Erfahrungen teilen und möglicherweise jemandes Problem lösen. In diesem Artikel erfahren Sie, wie Sie einen Multiport-Server (6 Ports) konfigurieren: Netplan, DHCP-Server, UFW (Uncomplicated Firewall). Und jetzt das Wichtigste zuerst.Einführung
Ich habe das Internet auf 500 Mbit / s aktualisiert, und es war Zeit, den 100-Mbit-Server in Angriff zu nehmen, der auf Pentium 3 funktionierte und bereits am Rande stand. Die Wahl fiel auf das chinesische Tier . Alles, was benötigt wird, ist verfügbar, der Verbrauch im normalen Modus überschreitet nicht 15 W, es gibt einen Leistungsspielraum für zusätzliche Aufgaben.Für eine ruhige, zusätzliche aktive Kühlung: Ich werde die Betriebssysteminstallation nicht malen ("OK - Weiter - Weiter"). Ich stelle nur fest, dass während der Installation mindestens eine Netzwerkschnittstelle für den Zugriff auf das Internet konfiguriert werden muss.Der Einfachheit halber verwende ich Midnight Commander und seinen Texteditor. Wir werden vom Root-Benutzer aus arbeiten:sudo su
Installieren Sie MC:apt-get install mc
Nachdem wir Ubuntu Server installiert haben, konfigurieren wir zunächst die verbleibenden Netzwerkschnittstellen.Netplan
In neueren Versionen von Ubuntu wurde das Dienstprogramm Netplan angezeigt, mit dem Sie das Netzwerk in einem einheitlichen Format konfigurieren und einen Netzwerkmanager auswählen können, mit dem Sie arbeiten möchten. Standardmäßig wird Systemd-networkd verwendet, aber ich habe mich für NetworkManager entschieden, da ich die Cockpit-Weboberfläche installiert habe, die NM verwendet, um einen Teil der Informationen anzuzeigen.Die Netplan-Konfigurationssyntax ist sehr streng und ein zusätzlicher Bereich oder eine zusätzliche Registerkarte kann einen Fehler verursachen.Weitere Details zur Funktionalität wurden bereits von habr.com/de/post/448400 beschrieben. Verschiedene Beispiele finden Sie auf der Website netplan.io/examples .Sehen wir uns die Namen der Schnittstellen an:ip a
Gehen Sie auf die Datei / etc / netplan Verzeichnis und öffnen (F4 für MS) die 50-cloud-init.yaml Datei . Für die Netzwerkschnittstelle, über die eine Verbindung zum Internet hergestellt wird, bestimmen wir den Empfang der Einstellungen durch dhcp ( dhcp4: true ). In meinem Fall ist es enp6s0. Geben Sie im Übrigen false an und fügen Sie den optionalen Parameter : true hinzu , weil Die Schnittstelle ist möglicherweise mit nichts verbunden.Ich habe Bridge verwendet, um die Schnittstellen mit dem lokalen Netzwerk zu verbinden, aber vielleicht wäre es korrekter, vlan zu verwenden. Erstellen wir eine LAN- Bridge , legen Sie eine gemeinsame IP-Adresse und einen DNS-Server fest und geben Sie die zu kombinierenden Schnittstellen an: bridges:
lan-br:
dhcp4: false
addresses: [ 192.168.13.1/24 ]
nameservers:
addresses: [ 192.168.13.1 ]
interfaces: [ enp1s0, enp2s0, enp3s0, enp4s0, enp5s0 ]
Ich werde meinen eigenen DNS-Server haben, daher gebe ich die Adresse meines Servers im Feld Nameserver an. Sie können beispielsweise 8.8.8.8 (Google) angeben. Wir geben die Version und den Manager an. Das Ergebnis sollte ungefähr so aussehen:network:
ethernets:
enp1s0:
dhcp4: false
optional: true
enp2s0:
dhcp4: false
optional: true
enp3s0:
dhcp4: false
optional: true
enp4s0:
dhcp4: false
optional: true
enp5s0:
dhcp4: false
optional: true
enp6s0:
dhcp4: true
nameservers:
addresses:
- 127.0.0.1
- 192.168.13.1
bridges:
lan-br:
dhcp4: false
addresses: [ 192.168.13.1/24 ]
nameservers:
addresses: [ 192.168.13.1 ]
interfaces: [ enp1s0, enp2s0, enp3s0, enp4s0, enp5s0 ]
version: 2
renderer: NetworkManager
Wir speichern die Datei und überprüfen / wenden die Konfiguration an:netplan try
Wenn alles richtig gemacht ist, zeigt 'ip a' ungefähr so:1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master lan-br state UP group default qlen 1000
link/ether 0c:e8:2c:68:5b:57 brd ff:ff:ff:ff:ff:ff
3: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master lan-br state UP group default qlen 1000
link/ether 0c:e8:2c:68:5b:58 brd ff:ff:ff:ff:ff:ff
4: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master lan-br state UP group default qlen 1000
link/ether 0c:e8:2c:68:5b:59 brd ff:ff:ff:ff:ff:ff
5: enp4s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
link/ether 0c:e8:2c:68:5b:5a brd ff:ff:ff:ff:ff:ff
6: enp5s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
link/ether 0c:e8:2c:68:5b:5b brd ff:ff:ff:ff:ff:ff
7: enp6s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 0c:e8:2c:68:5b:5c brd ff:ff:ff:ff:ff:ff
inet 188.32.236.197/19 brd 188.32.255.255 scope global dynamic noprefixroute enp6s0
valid_lft 2898sec preferred_lft 2898sec
inet6 fe80::ee8:2cff:fe68:5b5c/64 scope link
valid_lft forever preferred_lft forever
8: lan-br: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 0c:e8:2c:68:5b:57 brd ff:ff:ff:ff:ff:ff
inet 192.168.13.1/24 brd 192.168.13.255 scope global noprefixroute lan-br
valid_lft forever preferred_lft forever
inet6 fe80::ee8:2cff:fe68:5b58/64 scope link
valid_lft forever preferred_lft forever
DHCP-Server
Konfigurieren Sie einen DHCP-Server so, dass Clients IP-Adressen automatisch empfangen können.apt-get install isc-dhcp-server
Bearbeiten Sie in der Datei / etc / default / isc-dhcp-server die Zeile:INTERFACESv4="lan-br"
Gehen Sie zu / etc / dhcp , öffnen Sie dhcpd.conf und schreiben Sie die Einstellungen vor:option domain-name "your-domain-name";
option domain-name-servers 192.168.13.1;
subnet 192.168.13.0 netmask 255.255.255.0 {
range 192.168.13.100 192.168.13.250;
option subnet-mask 255.255.255.0;
option routers 192.168.13.1;
option broadcast-address 192.168.13.255;
}
Starten Sie den DHCP-Server neu:service isc-dhcp-server restart
Kunden sollten jetzt automatisch Adressen erhalten.Ufw
UFW (Uncomplicated Firewall) - ein Tool zur einfacheren Einrichtung von iptables. Richten Sie eine Firewall und eine Paketweiterleitung zwischen Schnittstellen ein. Gehen Sie zu / etc / ufw und kommentieren Sie die Zeile in der Datei sysctl.conf aus:net/ipv4/ip_forward=1
Wenn Sie über ssh verbunden sind, öffnen Sie Port 22, bevor Sie beginnen:ufw allow ssh
Schalten Sie UFW ein und überprüfen Sie den Status:ufw enable
ufw status verbose
Legen Sie die Standardrichtlinien fest:ufw default deny incoming
ufw default allow outgoing
ufw default allow routed
Zugriff über das lokale Netzwerk zulassen:ufw allow in on lan-br to any
Konfigurieren Sie NAT. Öffnen Sie die Datei before.rules und schreiben Sie Folgendes vor den Filterblock * :*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 192.168.13.0/24 -o enp6s0 -j MASQUERADE
COMMIT
Speichern und neu starten ufw:ufw disable
ufw enable
Lassen Sie uns iptables überprüfen, unsere Zeile sollte erscheinen:iptables -t nat -L -v
In diesem Fall kann die grundlegende Serverkonfiguration als abgeschlossen betrachtet werden.Fazit
Ich habe das Problem der Konfiguration des DNS-Servers nicht angesprochen, da ich den zweiten Teil veröffentlichen möchte, in dem die Konfiguration von Dnscrypt-proxy als DNS-Server für das lokale Netzwerk beschrieben wird.Nähere Informationen: