Konfigurasikan Ubuntu 20.04 sebagai Router Linux

Ikuti tutorial ini untuk mempelajari cara mengkonfigurasi Ubuntu 20.04 sebagai router Linux. Linux luar biasa, Dapat berfungsi sebagai “apa saja”, -:). Sama seperti bagaimana Anda dapat menggunakan router lain untuk merutekan lalu lintas Anda antara jaringan lokal dan bahkan ke internet.

Konfigurasikan Ubuntu 20.04 sebagai Router Linux

Ada lebih banyak untuk mengkonfigurasi sistem Linux berfungsi sebagai router. Namun, dalam tutorial ini, kita akan membahas cara mengkonfigurasi router Linux untuk merutekan lalu lintas ke Internet melalui interface WAN serta merutekan lalu lintas antara LAN melalui interface LAN.

Di bawah ini adalah diagram pengaturan dasar kami;

Tetapkan Alamat IP Statis ke Router Linux

Sesuai pengaturan kami, router Linux kami memiliki tiga interface yang terpasang:

  • enp0s3: Interface WAN dengan IP 192.168.100.101 (ditawar, statis)
  • enp0s8: LAN, 172.16.0.1/24, (statis)
  • enp0s9: LAN 172.16.1.1/24, (statis)

Detail Alamat IP di router

ip add
1: lo:  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: enp0s3:  mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 08:00:27:df:2c:b4 brd ff:ff:ff:ff:ff:ff inet 192.168.100.101/24 brd 192.168.100.255 scope global dynamic enp0s3 valid_lft 86100sec preferred_lft 86100sec inet6 fe80::a00:27ff:fedf:2cb4/64 scope link valid_lft forever preferred_lft forever 3: enp0s8:  mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 08:00:27:12:62:bf brd ff:ff:ff:ff:ff:ff inet 172.168.0.1/24 brd 172.168.0.255 scope global enp0s8 valid_lft forever preferred_lft forever inet6 fe80::a00:27ff:fe12:62bf/64 scope link valid_lft forever preferred_lft forever 4: enp0s9:  mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 08:00:27:66:4b:4f brd ff:ff:ff:ff:ff:ff inet 172.16.1.1/24 brd 172.16.1.255 scope global enp0s9 valid_lft forever preferred_lft forever inet6 fe80::a00:27ff:fe66:4b4f/64 scope link valid_lft forever preferred_lft forever 

penetapan alamat IP;

cat /etc/netplan/00-installer-config.yaml
network: version: 2 renderer: networkd ethernets: enp0s3: dhcp4: no addresses: [192.168.100.101/24] gateway4: 192.168.100.1 nameservers: addresses: - 192.168.100.1 - 8.8.8.8 enp0s8: dhcp4: no addresses: [172.16.0.1/24] enp0s9: dhcp4: no addresses: [172.16.1.1/24] 

Rincian Alamat IP di Server LAN Lainnya;

Host di Jaringan 172.16.1./24:
ip add
1: lo:  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: enp0s3:  mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 08:00:27:79:66:34 brd ff:ff:ff:ff:ff:ff inet 172.16.1.10/24 brd 172.16.1.255 scope global enp0s3 valid_lft forever preferred_lft forever inet6 fe80::a00:27ff:fe79:6634/64 scope link valid_lft forever preferred_lft forever 
cat /etc/netplan/00-installer-config.yaml
network: version: 2 renderer: networkd ethernets: enp0s3: dhcp4: no addresses: - 172.16.1.10/24 gateway4: 172.16.1.1 nameservers: addresses: - 172.16.1.1 - 8.8.8.8 
Host di Jaringan 172.16.1./24:
ip add
1: lo:  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: enp0s3:  mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 08:00:27:3e:fe:0e brd ff:ff:ff:ff:ff:ff inet 172.16.0.10/24 brd 172.16.0.255 scope global noprefixroute enp0s3 valid_lft forever preferred_lft forever inet6 fe80::eb09:7797:df2d:d54b/64 scope link noprefixroute valid_lft forever preferred_lft forever 
cat /etc/sysconfig/network-scripts/ifcfg-enp0s3
TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=none IPADDR=172.16.0.10 PREFIX=24 GATEWAY=172.16.0.1 DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=enp0s3 UUID=ea93c07b-a40e-4e1f-a850-f97e2a762f9a DEVICE=enp0s3 ONBOOT=yes DNS1=172.16.0.1 DNS2=8.8.8.8 NM_CONTROLLED=no 

Pada saat ini;

  • tidak ada perangkat LAN yang memiliki akses Internet
  • hanya perangkat di LAN yang sama yang dapat mengakses satu sama lain
  • Tidak ada perangkat yang dapat mengakses perangkat di LAN yang berbeda

Aktifkan penerusan IP Kernel di Router Linux Ubuntu

Selanjutnya, Anda perlu mengaktifkan penerusan IP agar kotak router Linux berfungsi sebagai router, menerima dan meneruskan paket.

Once this is done, devices on both 172.16.0.0/24 and 172.16.1.0/24 should be able to communicate.

Untuk mengaktifkan penerusan IP, Anda perlu menghapus komentar pada baris net.ipv4.ip_forward=1pada /etc/sysctl.conffile konfigurasi.

Jadi, periksa dulu apakah baris tersebut sudah ditentukan pada file konfigurasi;

grep net.ipv4.ip_forward /etc/sysctl.conf

keluaran sampel;

#net.ipv4.ip_forward=1

jika baris ada di file konfigurasi dan komentar, cukup batalkan komentar dengan menjalankan perintah di bawah ini;

sed -i '/net.ipv4.ip_forward/s/^#//' /etc/sysctl.conf

Jika tidak, cukup masukkan baris;

echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf

Selanjutnya, terapkan perubahan;

sysctl -p

Periksa status dengan menjalankan perintah di bawah ini;

sysctl net.ipv4.ip_forward

Nilai harus 1.

Verifikasi penerusan IP antara dua LAN.

Konfigurasi NATing dan Forwarding di Router Linux

NATing dan Forwarding dapat ditangani menggunakan iptablesatau melalui utilitas front-end iptables seperti UFW.

Konfigurasikan Penerusan Paket

Konfigurasikan paket yang diterima dari interface LAN router (enp0s8 dan enp0s9) untuk diteruskan melalui interface WAN, yang dalam kasus kami adalah enp0s3.

iptables -A FORWARD -i enp0s8 -o enp0s3 -j ACCEPT
iptables -A FORWARD -i enp0s9 -o enp0s3 -j ACCEPT

Demikian pula, konfigurasikan paket yang terkait dengan koneksi yang ada yang diterima pada interface WAN untuk diteruskan ke interface LAN;

iptables -A FORWARD -i enp0s3 -o enp0s8 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i enp0s3 -o enp0s9 -m state --state RELATED,ESTABLISHED -j ACCEPT

Konfigurasikan NATing

Selanjutnya, konfigurasikan NATing;

iptables -t nat -A POSTROUTING -o enp0s3 -j MASQUERADE

Untuk memastikan bahwa kedua jaringan lokal juga dapat berkomunikasi, jalankan perintah di bawah ini;

iptables -t nat -A POSTROUTING -o enp0s8 -j MASQUERADE
iptables -t nat -A POSTROUTING -o enp0s9 -j MASQUERADE

Berkonsultasi man iptables untuk informasi lebih lanjut.

Simpan aturan iptables Secara Permanen di Linux

Untuk menyimpan aturan iptables secara permanen, cukup instal iptables-persistent paket dan jalankan iptables-save perintah sebagai berikut.

apt install iptables-persistent

Aturan saat ini akan disimpan selama instalasi paket tetapi masih dapat menyimpannya setelahnya dengan menjalankan perintah;

iptables-save > /etc/iptables/rules.v4

Sistem LAN Anda seharusnya sekarang dapat terhubung ke internet melalui router Linux;

Dan di sana Anda pergi. Anda vms sekarang dapat merutekan lalu lintas melalui router Linux Anda.

Itu menyimpulkan panduan kami tentang cara mengkonfigurasi Ubuntu 20.04 sebagai Router Linux.

Tutorial lainnya

Operasi Dasar Firewalld di Linux

Instal Firewall pfSense di KVM

Instal dan Konfigurasi Endian Firewall di VirtualBox