Home Internet Gateway. Penyiapan awal komputer mini 6-port pada Ubuntu Server 20.04 LTS


Di Internet, ada banyak informasi tentang pengaturan server di Ubuntu, tetapi pada setiap langkah Anda dapat menemukan momen yang tidak jelas bagi pemula. Saya ingin berbagi pengalaman dan mungkin memecahkan masalah seseorang. Artikel ini akan memberi tahu Anda cara mengkonfigurasi server multi-port (6 port): Netplan, DHCP server, UFW (Uncomplicated Firewall). Dan sekarang, hal pertama yang pertama.

pengantar


Saya memperbarui Internet ke 500 Mbit / s, dan sudah waktunya untuk menangani server 100 Mbit, yang bekerja pada Pentium 3 dan sudah di ambang. Pilihan jatuh pada binatang Cina . Semua yang diperlukan tersedia, konsumsi dalam mode normal tidak melebihi 15W, ada margin kinerja untuk tugas tambahan.

Untuk menambah pendinginan aktif yang tenang:


Saya tidak akan mengecat instalasi OS ("OK - Next - Next"), saya hanya akan mencatat bahwa selama instalasi diperlukan untuk mengkonfigurasi setidaknya satu antarmuka jaringan untuk mengakses Internet.

Untuk kenyamanan, saya menggunakan Midnight Commander dan editor teksnya. Kami akan bekerja dari pengguna root:

sudo su

Instal MC:

apt-get install mc

Jadi, kami telah menginstal Ubuntu Server, mari kita mulai dengan mengkonfigurasi antarmuka jaringan yang tersisa.

Netplan


Di versi Ubuntu terbaru, Netplan utility telah muncul, yang memungkinkan Anda untuk mengonfigurasi jaringan dalam format yang disatukan dan memilih manajer jaringan untuk bekerja dengannya. Secara default, Systemd-networkd digunakan, tetapi saya memilih NetworkManager, karena saya menginstal antarmuka Web Cockpit, yang menggunakan NM untuk menampilkan bagian dari informasi.
Sintaks konfigurasi Netplan sangat ketat dan ruang atau tab ekstra dapat menyebabkan kesalahan.

Rincian lebih lanjut tentang fungsi telah dijelaskan oleh habr.com/en/post/448400 , serta berbagai contoh ada di situs netplan.io/examples .

Mari kita lihat nama-nama antarmuka:

ip a

Pergi ke direktori / etc / netplan dan buka (F4 untuk MS) file 50-cloud-init.yaml . Untuk antarmuka jaringan yang akan digunakan untuk terhubung ke Internet, kami menentukan penerimaan pengaturan oleh dhcp ( dhcp4: true ). Dalam kasus saya ini adalah enp6s0. Selebihnya, tentukan false dan tambahkan opsional: true parameter , karena antarmuka mungkin tidak terhubung dengan apa pun.

Saya menggunakan jembatan untuk menghubungkan antarmuka ke jaringan lokal, tetapi mungkin akan lebih tepat untuk menggunakan vlan. Mari kita buat lan-br bridge , atur alamat IP umum, server DNS dan tentukan antarmuka yang akan digabungkan:

  bridges:
    lan-br:
      dhcp4: false
      addresses: [ 192.168.13.1/24 ]
      nameservers: 
        addresses: [ 192.168.13.1 ]
      interfaces: [ enp1s0, enp2s0, enp3s0, enp4s0, enp5s0 ]

Saya akan memiliki server DNS saya sendiri, jadi saya menentukan alamat server saya di bidang server nama , misalnya, Anda dapat menentukan 8.8.8.8 (Google). Kami menunjukkan versi dan manajernya. Hasilnya harus seperti ini:

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

Kami menyimpan file dan memeriksa / menerapkan konfigurasi:

netplan try

Jika semuanya dilakukan dengan benar, maka 'ip a' akan menampilkan sesuatu seperti ini:
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


Server DHCP


Konfigurasikan server DHCP agar klien dapat menerima alamat IP secara otomatis.

apt-get install isc-dhcp-server

Dalam file / etc / default / isc-dhcp-server, edit baris:

INTERFACESv4="lan-br"

Pergi ke / etc / dhcp , buka dhcpd.conf dan tentukan pengaturan:

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;
}

Mulai ulang server DHCP:

service isc-dhcp-server restart

Pelanggan sekarang harus menerima alamat secara otomatis.

Ufw


UFW (Uncomplicated Firewall) - alat untuk pengaturan iptables yang lebih mudah. Siapkan firewall dan penerusan paket antar antarmuka. Pergi ke / etc / ufw dan batalkan komentar pada baris di file sysctl.conf:

net/ipv4/ip_forward=1

Jika Anda terhubung melalui ssh, buka port 22 sebelum memulai:

ufw allow ssh

Aktifkan UFW, periksa status:

ufw enable
ufw status verbose

Tetapkan kebijakan default:

ufw default deny incoming
ufw default allow outgoing
ufw default allow routed

Izinkan akses dari jaringan lokal:

ufw allow in on lan-br to any

Konfigurasikan NAT. Buka file before.rules dan tulis yang berikut sebelum blok * filter :

*nat
:POSTROUTING ACCEPT [0:0]
#local
-A POSTROUTING -s 192.168.13.0/24 -o enp6s0 -j MASQUERADE
COMMIT

Simpan dan mulai ulang ufw:

ufw disable
ufw enable

Mari kita periksa iptables, baris kita akan muncul:

iptables -t nat -L -v

Pada ini, konfigurasi server dasar dapat dianggap selesai.

Kesimpulan


Saya tidak mengangkat masalah konfigurasi server DNS, karena saya berencana untuk merilis bagian kedua, yang akan menjelaskan konfigurasi Dnscrypt-proxy sebagai server DNS untuk jaringan lokal.

Informasi lebih rinci:


All Articles