Bagaimana cara menggabungkan beberapa koneksi Internet menjadi satu?

23

PC saya memiliki total 4 NIC, 2 kartu jaringan Gigabit Ethernet berkabel dan juga 2 kartu jaringan nirkabel. (Satu Broadcom dengan driver berpemilik dan Ralink dengan perangkat lunak sumber terbuka, yang bekerja jauh lebih baik daripada Broadcom.)

Ponsel saya dapat berbagi koneksi secara nirkabel ke PC saya, tetapi saya juga memiliki koneksi Internet kabel. Jadi saya punya beberapa koneksi Internet untuk mengakses Internet. Bagaimana saya bisa menggabungkan 2 koneksi atau lebih bersama-sama dan menyeimbangkannya untuk menikmati satu pengalaman Internet terpadu yang merupakan jumlah dari semua koneksi Internet yang terhubung dengannya.

Sebagai contoh jika saya memiliki modem dengan koneksi Internet 1024kB / s dan satu lagi yang menawarkan 512kB / s dan satu kecil yang menawarkan 128kB / s, setelah load balancing dan menggabungkan semua koneksi (Bonding atau Teaming), saya dapat mengunduh di kecepatan 1664 kB / s menggunakan semua 3 koneksi Internet sebagai contoh.

Pertanyaan ini selalu membuat saya penasaran.

Luis Alvarado
sumber
5
Tampaknya agak di luar jangkauan Ask Ubuntu :) Ini adalah hal jaringan yang cukup kompleks. IMO jarang sepadan, pada saat Anda memperhitungkan paket yang hilang karena tautan yang sedang down (bahkan sementara), pemesanan ulang paket karena beberapa tautan lebih lambat daripada yang lain, dan hal-hal semacam itu. Saya tidak tahu solusi "kotak hitam" yang akan melakukan ini, bisa menjadi proyek yang menarik.
Cesium
9
Nah pertanyaannya adalah apakah ini bisa dilakukan di ubuntu dan jika ya bagaimana.
Luis Alvarado
Saya membuat jawaban dalam 2 koneksi internet pada satu posting PC . Menautkan dokumen untuk terikat di Ubuntu.
Lucio
@ Lucio Saya bisa menandai pertanyaan sebagai duplikat atau Anda dapat memindahkan jawaban Anda di sini dan saya dapat menandainya sebagai diterima. Anda juga harus siap ketika 13,04 keluar karena akan termasuk dalam Network Manager opsi ikatan (Hanya budak ikatan kabel sekarang).
Luis Alvarado

Jawaban:

11

Saya melakukan sesuatu seperti itu di tempat kerja menggunakan Ubuntu 11.04. Kami menjalankan alat konfigurasi firewall Shorewall, yang selain unggul dalam tugasnya, menyediakan beberapa alat perutean ISP yang belum sempurna yang mungkin sesuai dengan kebutuhan Anda. Anda dapat menemukan beberapa dokumen tentang hal ini di sini: http://www.shorewall.net/MultiISP.html

Apa yang akhirnya terjadi adalah, Anda tidak dapat menggunakan beberapa ISP untuk satu koneksi ... semuanya tidak sesederhana itu. Yang terbaik yang dapat Anda lakukan adalah mencoba mengarahkan koneksi baru secara merata antara penyedia yang berbeda.

Ini adalah masalah yang kompleks. Anda mungkin akan berakhir mengalahkan kepala Anda ke dinding (saya pasti melakukannya) sebelum Anda selesai men-debug setiap masalah. Jadi, seperti yang disarankan poster lain, Anda mungkin bijaksana untuk mempertimbangkan seberapa kuat keinginan Anda.

trognanders
sumber
Tautan yang bagus. Tutorial yang sangat bagus.
Luis Alvarado
Membiarkan lihat juga ini: debuntu.org/2006/02/23/...
Postadelmaga
8

Anda bisa melakukannya dengan menggunakan paket ifenslaveyang melampirkan dan melepaskan antarmuka jaringan budak ke perangkat bonding.

  1. Memasang:

    sudo apt-get install ifenslave
    
  2. Memuat modul kernel bonding

    sudo modprobe bondingle
    
  3. Konfigurasikan antarmuka Anda:

    sudo vi /etc/network/interfaces
    

    Contoh config, untuk menggabungkan eth0 dan eth1 sebagai slave ke antarmuka ikatan Anda:

    #eth0 is manually configured, and slave to the "bond0" bonded NIC
    auto eth0
    iface eth0 inet manual
    bond-master bond0
    
    #eth1 ditto, thus creating a 2-link bond.
    auto eth1
    iface eth1 inet manual
    bond-master bond0
    
    # bond0 is the bonded NIC and can be used like any other normal NIC.
    # bond0 is configured using static network information.
    auto bond0
    iface bond0 inet static
    address 192.168.1.10
    gateway 192.168.1.1
    netmask 255.255.255.0
    # bond0 uses standard IEEE 802.3ad LACP bonding protocol 
    bond-mode 802.3ad
    bond-miimon 100
    bond-lacp-rate 1
    bond-slaves none
    
  4. Mulai Ulang Jaringan:

    sudo restart networking
    
  5. Membawa antarmuka terikat atas / bawah:

    ifup bond0
    ifdown bond0
    

    Ada beberapa mode ikatan sebagai contoh yang kami gunakan:

    bond-mode active-backup
    

    Deskripsi mode ikatan cadangan aktif :

    Kebijakan cadangan aktif: Hanya satu budak di ikatan yang aktif. Seorang budak yang berbeda menjadi aktif jika, dan hanya jika, budak yang aktif gagal. Alamat MAC ikatan terlihat secara eksternal hanya pada satu port (adaptor jaringan) untuk menghindari membingungkan sakelar. Mode ini memberikan toleransi kesalahan. Opsi utama memengaruhi perilaku mode ini.

    Sumber dan info lebih lanjut di komunitas wiki bantuan Ubuntu .

Bonding , berarti menggabungkan beberapa antarmuka jaringan (NIC) ke satu tautan, memberikan ketersediaan tinggi, penyeimbangan beban, throughput maksimum, atau kombinasi dari semuanya. Sumber

pl1nk
sumber
+1 karena merupakan salah satu alasan pertanyaan saya. Masih akan menunggu cara untuk membuat koneksi master jaringan virtual yang merupakan jumlah dari semua koneksi slave (nyata). Sesuatu seperti bonding yang hadir dalam versi kernel terbaru.
Luis Alvarado
2
-1 - ikatan bekerja di LAN karena beroperasi pada Layer 2. Pertanyaannya adalah tentang load balancing dua WAN independen.
gertvdijk
@ gertvdijk Saya tidak setuju memeriksa jawaban pembaruan saya untuk mengetahui bahwa ikatan juga memuat penyeimbangan.
pl1nk
1
@ pl1nk Ini adalah penyeimbangan beban Layer 2 untuk dua NIC di jaringan L2 yang sama. Ini tidak sama dengan penyeimbangan beban multi-ISP!
gertvdijk
3
@ pl1nk Komentar terakhir saya. Pertanyaannya adalah tentang beberapa koneksi broadband independen, jelas. Walaupun mereka mungkin satu ISP, ini tidak mengubah disabilitas untuk menangani hal ini pada layer 2.
gertvdijk
6

Ini pertanyaan yang agak lama, tetapi jika Anda masih ingin tahu ..

Ada 2 skenario tipikal, apa argumen gertvdijk dan pl1nk dalam salah satu jawaban:

Anda memiliki komputer dengan 2 IP publik (2 ISP berbeda) dan Anda terhubung ke host lain (misalnya server di pusat data dengan pipa gemuk yang lebih besar dari bandwidth agregat kedua koneksi ISP komputer Anda). Jadi, Anda membuat koneksi ikatan ke host melalui 2 koneksi Anda dan kemudian host (server) melayani lalu lintas Anda melalui koneksi internet sendiri. Dalam skenario ini, Anda bisa mendapatkan hampir 100% dari bandwidth gabungan di kedua arah untuk satu koneksi.

Ini adalah kasus khusus dari bonding / teaming / ling aggregation di mana banyak antarmuka lapisan 2 (jaringan yang sama) bergabung bersama. Ini dapat dicapai dengan membuat koneksi VPN layer 2 (ketuk) pada setiap antarmuka ISP dari komputer ke host dan menyatukannya (mode round-robin) untuk memiliki satu antarmuka. Faktor pembatas dalam skenario ini adalah betapa berbedanya penundaan (ping) pada setiap koneksi ISP ke host. Semakin mirip dan stabil, semakin baik. Kami menggunakannya di salah satu instalasi kami, itu berfungsi dengan baik. Jika Anda ingin mengetahui detail tentang cara mengimplementasikannya, beri tahu saya.

Kemudian skenario lain akan tanpa host perantara, yaitu koneksi langsung dari antarmuka ISP Anda ke berbagai webserver di seluruh dunia. Dalam hal ini yang terbaik yang bisa Anda dapatkan adalah mendistribusikan secara merata koneksi keluar antar antarmuka - yaitu satu sesi TCP sepenuhnya melalui satu ISP, sesi kedua melalui yang lain dan seterusnya. Itu karena ketika Anda membuat koneksi TCP, itu memiliki alamat IP asal dan tujuan untuk setiap paket dan ketika server menerima paket dari IP lain yang jabat tangan TCP tidak dilakukan, itu menganggap paket sebagai salah dan menjatuhkannya. Karena setiap koneksi ISP memiliki IP publiknya sendiri, untuk sesi TCP yang sama Anda tidak dapat mengirim satu paket melalui satu koneksi dari satu IP dan lainnya melalui koneksi lain dengan IP lainnya.

Anda tidak akan mencapai pemanfaatan bandwidth agregat tinggi untuk satu komputer seperti halnya dengan skenario pertama, tetapi untuk kantor kecil itu bisa menjadi solusi yang baik. Apa yang dapat Anda lakukan untuk memperluas sedikit adalah menerapkan solusi khusus untuk protokol tertentu. Misalnya, Anda dapat memiliki semacam proxy di gateway (yang bisa merupakan komputer yang sama) untuk unduhan http dan meminta bagian berbeda dari file besar yang membuat sesi TCP berbeda melalui antarmuka ISP yang berbeda. Dalam hal ini, laju unduhan yang dihasilkan akan mendekati 100% dari bandwidth gabungan. Ini seperti membongkar muatan ke gateway seperti yang dilakukan ReGet, GetRight, dan pengunduh serupa. Google 'HTTP 206 Konten Parsial'. Saya tidak tahu solusi open-source out-of-the-box untuk skenario ini, tetapi ada peralatan perangkat keras yang melakukan ini: google '

Anatoli
sumber
Wow! Bagian pertama dari jawaban Anda adalah apa yang saya cari. Saya memiliki server di cloud dengan Ubuntu dan koneksi yang sangat cepat. Dan satu-satunya koneksi internet yang bisa saya miliki di sini adalah 300 kbps dengan 3G terbatas. Bisakah Anda memberikan informasi lebih lanjut tentang cara mencapai bagian pertama dari jawaban Anda, sehingga saya dapat membeli banyak dongle 3G dan rencana untuk meningkatkan kecepatan koneksi saya?
Huafu
2
echo "bonding" >> /etc/modules echo -e "alias bond* bonding\noptions bonding max_bonds=10 mode=2 xmit_hash_policy=layer3+4 arp_interval=100 arp_ip_target=10.0.0.1" > /etc/modprobe.d/bonding.conf
Anatoli
1
Dan memperbudak semua tap tap untuk obligasi ini: echo "+tapX " >> /sys/class/net/bond0/bonding/slaves Periksa statusnya dengan: cat /proc/net/bonding/bond0 Pada tahap ini semua lalu lintas internet harus mengalir melalui bond0 ke server di pusat data. Di sana Anda harus mengatur perutean: echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf sysctl -p /etc/sysctl.conf iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE (eth0 seharusnya menjadi iface internet)
Anatoli
1
Konfigurasi ikatan ini (mode = 2 xmit_hash_policy = layer3 + 4) akan membuat setiap koneksi baru melalui VPN iface yang mendasari berbeda berdasarkan hash (dihitung dari IP dan port yang terlibat dalam koneksi) mod nomor iface. Info lebih lanjut: kernel.org/doc/Documentation/networking/bonding.txt . Ini sebenarnya lebih seperti solusi kedua dari jawaban saya, itu karena Anda memerlukan koneksi yang mendasari sangat mirip (jitter sangat rendah dan bandwidth yang sama) untuk ikatan round-robin berfungsi dengan benar (jika tidak Anda mendapatkan banyak paket pengurutan ulang paket) dan Anda mengatakan bahwa koneksi Anda adalah 3G.
Anatoli
1
@ Huafu, untuk mendapatkan solusi pertama, Anda hanya perlu mengubah opsi ikatan alih-alih Anda mode=2 xmit_hash_policy=layer3+4tentukan mode=0(lihat tautan @ kernel.org), tetapi periksa dulu seberapa mirip tautan tersebut melalui 3G. Jika waktu ping mereka berbeda lebih dari 2-3ms atau jitter lebih dari 1ms, Anda akan memiliki banyak paket reordering yang secara efektif mengurangi kecepatan tautan gabungan. Anda harus memeriksa statistik tautan teragregasi dengan netstat -s(mencari transmisi ulang) dan iperf -s/ iperf -c <server_ip> -d. Pertama, periksa kinerja masing-masing tautan, maka kita dapat melanjutkan dengan solusi
Anatoli
0

Saya menghadapi masalah yang sama .. dan saya sangat tertarik dengan pendekatan untuk solusi sesuai dengan skenario pertama oleh mr. GTH dan Anatoli, saya sangat meminta Anda untuk meletakkan konfigurasi dasar dan skrip, jika mungkin, untuk menguji konfigurasi yang dijelaskan dalam skenario pertama ..

sekarang saya mengkonfigurasi koneksi vpn melalui penyedia ISP yang berbeda, menggunakan antarmuka tun / tap gabungan (ini tidak mengikat, yang dijelaskan dalam jawaban # 8) dengan utilitas ini:

Net-ISP-Balance oleh Lincoln D. Stein

Load-balance koneksi internet Anda di dua atau lebih ISP untuk meningkatkan bandwidth dan keandalan

Beranda proyek: https://lstein.github.io/Net-ISP-Balance/

Paket ini memungkinkan Anda untuk menyeimbangkan koneksi Internet rumah atau bisnis kecil di dua atau lebih ISP. Anda dapat menggunakannya dengan satu host yang terpasang pada dua ISP, atau pada mesin router / firewall untuk memuat keseimbangan seluruh LAN Anda. Lalu lintas jaringan seimbang di kedua koneksi ISP untuk meningkatkan kapasitas unggah dan unduh, dan jika satu ISP gagal, ISP lain akan mengambil alih secara otomatis.

Bandwidth didistribusikan pada tingkat per koneksi. Ini berarti bahwa Anda tidak akan melihat bandwidth teragregasi pada unduhan tertentu atau tolok ukur kecepatan, tetapi Anda akan melihat manfaatnya ketika beberapa transfer data terjadi secara bersamaan, misalnya, ketika beberapa individu di rumah tangga Anda memutar film. Selain itu, protokol transfer file multi-koneksi seperti BitTorrent, akan melihat manfaat dari load balancing.

ini adalah utilitas berbasis Perl untuk mengelola perutean dan iptables di Linux yang sempurna untuk tujuan kita, pada kenyataannya, pertama-tama membuat tabel perutean untuk semua penyedia, dan kemudian mendistribusikan semua lalu lintas LAN secara merata di antara penyedia, untuk memahami cara kerja utilitas, disarankan untuk mempertimbangkan contoh kecil (konfigurasi tes) untuk 3 isp + 1 lan

 #cat /etc/network/balance.conf
 ##service    device   role     ping-ip           
 CABLE3       enp0s3   isp      10.0.2.2
 CABLE8       enp0s8   isp      10.0.3.2
 CABLE9       enp0s9   isp      10.0.4.2
 LAN          enp0s10  lan                        

 #cat /etc/network/interfaces
auto enp0s3
allow-hotplug enp0s3
iface enp0s3 inet dhcp

auto enp0s8
allow-hotplug enp0s8
iface enp0s8 inet dhcp

auto enp0s9
allow-hotplug enp0s9
iface enp0s9 inet dhcp

auto enp0s10
allow-hotplug enp0s10
iface enp0s10 inet static
    address 192.168.1.1/24

#Now work Net-ISP-Balance utility:

## Including rules from /etc/network/balance/pre-run/pre-run-script.pl ##
## Finished /etc/network/balance/pre-run/pre-run-script.pl ##
echo 0 > /proc/sys/net/ipv4/ip_forward
ip route flush all
ip rule flush
ip rule add from all lookup main pref 32766
ip rule add from all lookup default pref 32767
ip route flush table  2
ip route flush table  1
ip route flush table  3
ip route add  10.0.2.0/24 dev enp0s3 src 10.0.2.15
ip route add  10.0.3.0/24 dev enp0s8 src 10.0.3.15
ip route add  10.0.4.0/24 dev enp0s9 src 10.0.4.15
ip route add  0.0.0.0/0 dev enp0s10 src 
ip route add default scope global nexthop via 10.0.4.2 dev enp0s9 weight 1 nexthop via 10.0.3.2 dev enp0s8 weight 1 nexthop via 10.0.2.2 dev enp0s3 weight 1
ip route add table 2 default dev enp0s3 via 10.0.2.2
ip route add table 2 10.0.2.0/24 dev enp0s3 src 10.0.2.15
ip route add table 2 10.0.3.0/24 dev enp0s8 src 10.0.3.15
ip route add table 2 10.0.4.0/24 dev enp0s9 src 10.0.4.15
ip route add table 2 0.0.0.0/0 dev enp0s10 src 
ip rule add from 10.0.2.15 table 2
ip rule add fwmark 2 table 2
ip route add table 1 default dev enp0s8 via 10.0.3.2
ip route add table 1 10.0.2.0/24 dev enp0s3 src 10.0.2.15
ip route add table 1 10.0.3.0/24 dev enp0s8 src 10.0.3.15
ip route add table 1 10.0.4.0/24 dev enp0s9 src 10.0.4.15
ip route add table 1 0.0.0.0/0 dev enp0s10 src 
ip rule add from 10.0.3.15 table 1
ip rule add fwmark 1 table 1
ip route add table 3 default dev enp0s9 via 10.0.4.2
ip route add table 3 10.0.2.0/24 dev enp0s3 src 10.0.2.15
ip route add table 3 10.0.3.0/24 dev enp0s8 src 10.0.3.15
ip route add table 3 10.0.4.0/24 dev enp0s9 src 10.0.4.15
ip route add table 3 0.0.0.0/0 dev enp0s10 src 
ip rule add from 10.0.4.15 table 3
ip rule add fwmark 3 table 3
## Including rules from /etc/network/balance/routes/01.local_routes ##
# enter any routing commands you might want to go in
# for example:
# ip route add 192.168.100.1 dev eth0 src 198.162.1.14

## Finished /etc/network/balance/routes/01.local_routes ##
## Including rules from /etc/network/balance/routes/02.local_routes.pl ##
## Finished /etc/network/balance/routes/02.local_routes.pl ##
iptables -F
iptables -t nat    -F
iptables -t mangle -F
iptables -X
iptables -P INPUT    DROP
iptables -P OUTPUT   DROP
iptables -P FORWARD  DROP

iptables -N DROPGEN
iptables -A DROPGEN -j LOG -m limit --limit 1/minute --log-level 4 --log-prefix "GENERAL: "
iptables -A DROPGEN -j DROP

iptables -N DROPINVAL
iptables -A DROPINVAL -j LOG -m limit --limit 1/minute --log-level 4 --log-prefix "INVALID: "
iptables -A DROPINVAL -j DROP

iptables -N DROPPERM
iptables -A DROPPERM -j LOG -m limit --limit 1/minute --log-level 4 --log-prefix "ACCESS-DENIED: "
iptables -A DROPPERM -j DROP

iptables -N DROPSPOOF
iptables -A DROPSPOOF -j LOG -m limit --limit 1/minute --log-level 4 --log-prefix "DROP-SPOOF: "
iptables -A DROPSPOOF -j DROP

iptables -N DROPFLOOD
iptables -A DROPFLOOD -m limit --limit 1/minute  -j LOG --log-level 4 --log-prefix "DROP-FLOOD: "
iptables -A DROPFLOOD -j DROP

iptables -N DEBUG
iptables -A DEBUG  -j LOG --log-level 3 --log-prefix "DEBUG: "
iptables -t mangle -N MARK-CABLE3
iptables -t mangle -A MARK-CABLE3 -j MARK     --set-mark 2
iptables -t mangle -A MARK-CABLE3 -j CONNMARK --save-mark
iptables -t mangle -N MARK-CABLE8
iptables -t mangle -A MARK-CABLE8 -j MARK     --set-mark 1
iptables -t mangle -A MARK-CABLE8 -j CONNMARK --save-mark
iptables -t mangle -N MARK-CABLE9
iptables -t mangle -A MARK-CABLE9 -j MARK     --set-mark 3
iptables -t mangle -A MARK-CABLE9 -j CONNMARK --save-mark
iptables -t mangle -A PREROUTING -i enp0s10 -m conntrack --ctstate NEW -m statistic --mode random --probability 1 -j MARK-CABLE9
iptables -t mangle -A PREROUTING -i enp0s10 -m conntrack --ctstate NEW -m statistic --mode random --probability 0.5 -j MARK-CABLE8
iptables -t mangle -A PREROUTING -i enp0s10 -m conntrack --ctstate NEW -m statistic --mode random --probability 0.333333333333333 -j MARK-CABLE3
iptables -t mangle -A PREROUTING -i enp0s10 -m conntrack --ctstate ESTABLISHED,RELATED -j CONNMARK --restore-mark
iptables -t mangle -A PREROUTING -i enp0s3 -m conntrack --ctstate NEW -j MARK-CABLE3
iptables -t mangle -A PREROUTING -i enp0s3 -m conntrack --ctstate ESTABLISHED,RELATED -j CONNMARK --restore-mark
iptables -t mangle -A PREROUTING -i enp0s8 -m conntrack --ctstate NEW -j MARK-CABLE8
iptables -t mangle -A PREROUTING -i enp0s8 -m conntrack --ctstate ESTABLISHED,RELATED -j CONNMARK --restore-mark
iptables -t mangle -A PREROUTING -i enp0s9 -m conntrack --ctstate NEW -j MARK-CABLE9
iptables -t mangle -A PREROUTING -i enp0s9 -m conntrack --ctstate ESTABLISHED,RELATED -j CONNMARK --restore-mark
iptables -A INPUT  -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -d 127.0.0.0/8 -j DROPPERM
iptables -A INPUT   -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT   -p tcp --tcp-flags SYN,ACK ACK -j ACCEPT
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK ACK -j ACCEPT
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-request -j DROPFLOOD
iptables -A INPUT   -i enp0s10 -s 0.0.0.0/0 -j ACCEPT
iptables -A OUTPUT  -o enp0s10 -d 0.0.0.0/0  -j ACCEPT
iptables -A OUTPUT  -o enp0s10 -d 255.255.255.255/32  -j ACCEPT
iptables -A OUTPUT  -p udp -s 0.0.0.0/0 -j ACCEPT
iptables -A FORWARD  -i enp0s10 -o enp0s3 -s 0.0.0.0/0 ! -d 0.0.0.0/0 -j ACCEPT
iptables -A OUTPUT   -o enp0s3                 ! -d 0.0.0.0/0 -j ACCEPT
iptables -A FORWARD  -i enp0s10 -o enp0s8 -s 0.0.0.0/0 ! -d 0.0.0.0/0 -j ACCEPT
iptables -A OUTPUT   -o enp0s8                 ! -d 0.0.0.0/0 -j ACCEPT
iptables -A FORWARD  -i enp0s10 -o enp0s9 -s 0.0.0.0/0 ! -d 0.0.0.0/0 -j ACCEPT
iptables -A OUTPUT   -o enp0s9                 ! -d 0.0.0.0/0 -j ACCEPT
iptables -A OUTPUT  -j DROPSPOOF
iptables -t nat -A POSTROUTING -o enp0s3 -j MASQUERADE
iptables -t nat -A POSTROUTING -o enp0s8 -j MASQUERADE
iptables -t nat -A POSTROUTING -o enp0s9 -j MASQUERADE
## Including rules from /etc/network/balance/firewall/01.accept ##
## This file contains iptables statements that add additional firewall rules

# allow incoming domain packets -- needed for DNS resolution
iptables -A INPUT   -p udp --source-port domain -j ACCEPT
# allow incoming NTP packets -- needed for net time protocol
iptables -A INPUT   -p udp --source-port ntp -j ACCEPT
## Finished /etc/network/balance/firewall/01.accept ##
## Including rules from /etc/network/balance/firewall/01.accept.pl ##
iptables -A INPUT -p tcp -s 0.0.0.0/0 --syn --dport ssh -j ACCEPT
## Finished /etc/network/balance/firewall/01.accept.pl ##
## Including rules from /etc/network/balance/firewall/02.forward.pl ##
iptables -A FORWARD -p udp --source-port domain -d 0.0.0.0/0 -j ACCEPT
iptables -A FORWARD -p udp --source-port ntp    -d 0.0.0.0/0 -j ACCEPT
## Finished /etc/network/balance/firewall/02.forward.pl ##
echo 1 > /proc/sys/net/ipv4/ip_forward
## Including rules from /etc/network/balance/post-run/post-run-script.pl ##
## Finished /etc/network/balance/post-run/post-run-script.pl ##
ITz
sumber
Tolong, pertimbangkan untuk menghapus jawaban ini dan menambahkan komentar yang meminta penjelasan lebih lanjut untuk jawaban yang sesuai. Ini bukan jawaban. Terima kasih.
Raffa