Berbagi teknologi

47. DR dari lvs

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. Modus DR:

1.1, lvs tiga mode:

  1. terjemahan alamat nat

  2. Mode perutean langsung DR

  3. mode terowongan tun

1.2.Fitur mode DR:

  • Penjadwal adalah yang paling penting di seluruh cluster LVS, dalam mode NAT, beban menerima permintaan, meneruskan lalu lintas sesuai dengan algoritma penyeimbangan beban, dan mengirimkan respons ke klien.

  • Mode DR: Penjadwal tetap bertanggung jawab untuk menerima permintaan dan meneruskannya ke RS sesuai dengan algoritma penyeimbangan beban. Respons langsung dikirim ke klien oleh RS.

  • Perutean Langsung adalah a二层转发模式 .Yang diteruskan oleh lapisan kedua adalah数据帧 .berdasarkan源mac地址和目的mac地址maju.

  • IP sumber dan IP tujuan paket data tidak akan diubah, dan paket data akan diteruskan berdasarkan alamat mac.

  • Dalam mode DR, LVS juga mempertahankan alamat IP virtual, dan semua permintaan dikirim ke VIP ini karena diteruskan melalui lapisan kedua, ketika permintaan klien mencapai jadwal, RS dipilih sesuai dengan algoritma penyeimbangan beban dan algoritma penyeimbangan beban. Server VIP diubah. Mac tujuan menjadi alamat mac RS. Setelah RS memproses permintaan, maka dapat langsung mengirimkan respons ke klien sesuai dengan alamat mac sumber klien dalam pesan tanpa melalui penjadwal.

Penjadwal dikonfigurasi dengan VIP, dan alamat VIP juga dikonfigurasi di RS.

  • Konflik alamat VIP, penjadwal dan RS keduanya berada di segmen jaringan yang sama, dan komunikasi ARP tidak teratur. Karena seluruh LAN disiarkan, semua perangkat menerimanya.

  • Cara memblokir respon loopback lo sehingga hanya alamat IP fisik server yang merespon.

Ubah parameter kernel:

  • arp_ignore=1------#Hanya alamat IP fisik sistem server yang akan merespons permintaan, lo tidak akan merespons permintaan ARP.

  • 2. Ketika pesan dibalas, alamat VIP masih ada. Bagaimana klien dapat menerima tanggapan?

  • arp_announce=2—#Sistem tidak menggunakan alamat sumber paket IP untuk merespons permintaan, tetapi langsung mengirimkan alamat IP antarmuka fisik.

1、调度器的ip地址和RS的ip要在同一网段,数据先进行二层转发。

2、RS是一个公网地址,互联网可以直接访问RS的地址(不用)。

3、DR模式是走内核转发,内核来判断数据包的地址,根据RS的地址把数据包重新封装,修改mac地址。
4、调度器的地址只可以做为集群访问的入口,不能作为网关。

5、所有的RS上的lo(本地回环地址)都要配置vip地址。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

Masukkan deskripsi gambar di sini

Masukkan deskripsi gambar di sini

Implementasi mode DR:

nignx1: RS1 192.168.168.10+vip

nginx2: RS2 192.168.168.20+vip

Nomor telepon: 192.168.168.100

tes1: penjadwal vip

tes2: klien

pada penjadwal

vim /etc/sysctl.conf

net.ipv4.ip_forward=0
#关闭数据包转发功能
net.ipv4.conf.all.send_redirects=0
#禁止系统发送icmp重定向的消息。回环地址不接受ping得消息。只针对真实得ip地址。
net.ipv4.conf.default.send_redirects=0
#禁止默认网络接口发送icmp重定向的消息。
net.ipv4.conf.ens33.send_redirects=0
#针对ens33设备,禁止发送icmp重定向消息。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • -A menambahkan vip server virtual

  • -D hapus alamat server virtual

  • -s menentukan algoritma penjadwalan penyeimbangan beban

  • -a tambahkan server nyata

  • -d hapus server sebenarnya

  • -t menentukan alamat dan port VIP

  • -r menentukan alamat dan port rip

  • -m menggunakan mode nat

  • -g Gunakan mode DR

  • -i Gunakan mode terowongan

  • -w mengatur berat badan

  • -p 60: Koneksi dipertahankan selama 60 untuk mengatur waktu retensi

  • -l: tampilan daftar

  • -n: tampilan digital

  • -m menentukan mode sebagai mode nat

Tetapkan alamat IP ke 192.168.168.100 dan tambahkan ke antarmuka loopback sebagai VIP lvs. Diteruskan ke RS melalui mode routing

Hal ini memungkinkan VIP untuk mengidentifikasi server RS ​​yang sebenarnya.

route add -host 192.168.233.100 dev lo:0

vim /etc/sysctl.conf

net.ipv4.conf.lo.arp_ignore = 1
#设置回环接口忽略来自任何接口的ARP请求net.ipv4.conf.lo.arp_announce =2
设置回环地址仅仅公告本地的ip地址,但是不响应ARP请求net.ipv4.conf.all.arp_ignore = 1
#设置所有接口忽略来自任何接口的ARP请求net.ipv4.conf.all.arp_announce =2
#设置所有接口仅仅公告本地的ip地址,但是不响应ARP请求。
  • 1
  • 2
  • 3
  • 4
  • 5

3. Dalam sistem Linux,net.ipv4.conf.all.arp_ignore Merupakan parameter kernel yang mengontrol bagaimana antarmuka jaringan menangani permintaan ARP (Address Resolusi Protocol) yang masuk. Parameter ini dikonfigurasikan secara khusus di server dan perangkat jaringan untuk mengurangi risiko keamanan yang disebabkan oleh spoofing ARP atau serangan jaringan lainnya.

Saat mengatur net.ipv4.conf.all.arp_ignore = 1 , ini berarti sistem hanya akan menjawab permintaan ARP yang alamat IP tujuannya adalah alamat pada antarmuka penerima lokal. Dengan kata lain, jika alamat IP tujuan permintaan ARP tidak cocok dengan alamat IP pada antarmuka penerima permintaan, sistem akan mengabaikan permintaan ARP tersebut. Pengaturan ini sangat berguna untuk meningkatkan ketahanan sistem terhadap serangan spoofing ARP.

Secara khusus,arp_ignore Parameter dapat memiliki beberapa nilai, masing-masing mewakili perilaku berbeda:

  • 0(Default): Menanggapi permintaan ARP apa pun pada antarmuka jaringan apa pun selama alamat IP tujuan yang diminta cocok dengan alamat IP pada mesin ini.
  • 1 : Hanya merespons permintaan ARP yang alamat IP targetnya adalah alamat IP antarmuka penerima. Hal ini membantu mencegah antarmuka digunakan sebagai proxy untuk mesin lain.
  • 2: Hanya jika alamat IP tujuan dari permintaan ARP adalah alamat IP dari antarmuka penerima, dan antarmuka tersebut adalah yang utama (yaitu, jika antarmuka dikonfigurasi dengan beberapa alamat IP, hanya permintaan ARP yang cocok dengan alamat IP utama yang akan ditanggapi ).

4. Di sistem Linux,net.ipv4.conf.all.arp_announce Merupakan parameter kernel yang mengontrol kebijakan pemilihan alamat IP yang digunakan oleh antarmuka jaringan saat mengirim permintaan atau respons ARP (Address Resolusi Protocol). Parameter ini sangat berguna untuk mencegah spoofing ARP dan konflik alamat jaringan, karena memungkinkan sistem memilih alamat IP sumber yang digunakan untuk lalu lintas ARP dengan lebih hati-hati.

Saat mengatur net.ipv4.conf.all.arp_announce = 2 Artinya, sistem hanya akan menggunakan alamat IP utama antarmuka pada subnet yang sama dengan alamat IP tujuan permintaan (jika tersedia) saat mengirimkan permintaan atau respons ARP. Jika tidak ada antarmuka seperti itu, tidak ada permintaan atau respons ARP yang dikirim. Pengaturan ini dapat membantu mengurangi masalah jaringan yang disebabkan oleh spoofing ARP karena membatasi antarmuka dan alamat IP yang dapat mengirimkan lalu lintas ARP.

arp_announce Parameter dapat memiliki nilai berikut:

  • 0 (Default): Pilih alamat IP mana pun di antarmuka mana pun untuk permintaan atau respons ARP. Hal ini dapat menyebabkan masalah keamanan, karena penyerang mungkin dapat mengelabui sistem agar menggunakan alamat IP yang tidak boleh digunakan untuk komunikasi ARP.
  • 1 : Cobalah untuk menghindari penggunaan alamat IP pada antarmuka yang tidak meminta sebagai alamat IP sumber permintaan ARP. Namun, jika tidak ada pilihan lain, alamat IP pada antarmuka non-soliciting masih dapat digunakan.
  • 2 : Hanya gunakan alamat IP utama antarmuka pada subnet yang sama dengan alamat IP tujuan yang diminta (jika tersedia). Ini adalah pengaturan yang paling ketat dan membantu mencegah spoofing ARP.

Tiga mode kerja lvs:

Bahasa Indonesia: NATDokterTONG BESAR
keuntunganKonfigurasi sederhana, terjemahan alamatperforma terbaikWAN dapat mewujudkan penerusan paket data jarak jauh
kekuranganKemacetan kinerjaSegmen lintas jaringan tidak didukungSaluran khusus, Anda perlu membuka VPN (membutuhkan biaya)
Persyaratan RSTak terbatasRespons ARP untuk antarmuka non-fisik harus dihentikanUntuk mendukung mode terowongan
kuantitas RS10-20100 unit100 unit

Ubah algoritma polling VIP:

ipvsadm -E -t 192.168.233.100:80 -s wrr

ipvsadm -e -t 192.168.233.100:80 -r 192.168.233.61:80 -w 3

2. Pertanyaan wawancara

Jelaskan secara singkat tiga mode lvs dan perbedaannya:

Mode kerja dan proses kerja LVS:

LVS memiliki tiga mode penyeimbangan beban, yaitu VS/NAT (mode nat), VS/DR (mode routing), dan VS/TUN (mode terowongan).

1. Modus NAT (VS-NAT)

Prinsip: Pertama, ketika penyeimbang beban menerima paket permintaan pelanggan, penyeimbang beban menentukan server nyata backend (RS) mana yang akan dikirimi permintaan berdasarkan algoritma penjadwalan.
Penyeimbang beban kemudian mengubah alamat IP target dan port paket permintaan yang dikirim oleh klien ke alamat IP (RIP) server nyata back-end.
Setelah server sebenarnya merespons permintaan tersebut, ia memeriksa rute default dan mengirimkan paket data respons ke penyeimbang beban
Ubah alamat sumber paket menjadi alamat virtual (VIP) dan kirimkan kembali ke klien.

Keuntungan: Server di cluster dapat menggunakan sistem operasi apa pun yang mendukung TCP/IP, selama penyeimbang beban memiliki alamat IP yang sah.

Kekurangan: Skalabilitas terbatas. Ketika node server tumbuh terlalu banyak, karena semua permintaan dan respons harus melalui penyeimbang beban,
Oleh karena itu penyeimbang beban akan menjadi penghambat keseluruhan sistem.

2. Mode perutean langsung (VS-DR)

Prinsip: Pertama, ketika penyeimbang beban menerima paket permintaan pelanggan, penyeimbang beban menentukan server nyata backend (RS) mana yang akan dikirimi permintaan berdasarkan algoritma penjadwalan.
Penyeimbang beban kemudian mengubah alamat MAC target dari paket permintaan yang dikirim oleh klien ke alamat MAC server nyata backend (R-MAC).
Setelah server sebenarnya merespons permintaan tersebut, ia memeriksa rute default dan mengirimkan paket respons langsung ke klien tanpa melalui penyeimbang beban.

Keuntungan: Penyeimbang beban hanya bertanggung jawab untuk mendistribusikan paket permintaan ke server node back-end, sementara RS mengirimkan paket respons langsung ke pengguna.
Oleh karena itu, aliran data dalam jumlah besar melalui penyeimbang beban berkurang. Penyeimbang beban tidak lagi menjadi penghambat sistem dan dapat menangani permintaan dalam jumlah besar.

Kekurangan: Penyeimbang beban dan server RS ​​yang sebenarnya harus memiliki kartu jaringan yang terhubung ke segmen jaringan fisik yang sama dan harus berada di lingkungan LAN yang sama.

3. Mode terowongan IP (VS-TUN)

Prinsip: Pertama, ketika penyeimbang beban menerima paket permintaan pelanggan, penyeimbang beban menentukan server nyata backend (RS) mana yang akan dikirimi permintaan berdasarkan algoritma penjadwalan.
Kemudian load balancer merangkum pesan permintaan yang dikirim oleh klien dengan lapisan terowongan IP (T-IP) dan meneruskannya ke server sebenarnya (RS).
Setelah server sebenarnya merespons permintaan tersebut, ia memeriksa rute default dan mengirimkan paket respons langsung ke klien tanpa melalui penyeimbang beban.

Keuntungan: Penyeimbang beban hanya bertanggung jawab untuk mendistribusikan paket permintaan ke server node back-end, sementara RS mengirimkan paket respons langsung ke pengguna.
Oleh karena itu, aliran data dalam jumlah besar melalui penyeimbang beban berkurang. Penyeimbang beban tidak lagi menjadi penghambat sistem dan dapat menangani permintaan dalam jumlah besar.

Kekurangan: Node RS dalam mode terowongan memerlukan IP legal, dan metode ini mengharuskan semua server mendukung "IP Tunneling".

Arsitektur ketersediaan tinggi di cluster lvs hanya untuk ketersediaan penjadwal yang tinggi.

Berdasarkan vrrp, penjadwal utama dan cadangan diimplementasikan.

Arsitektur HA dengan ketersediaan tinggi.

Penjadwal utama, penjadwal cadangan (beberapa unit)

Saat penjadwal utama bekerja normal, cadangan sepenuhnya dalam keadaan redundan (siaga). Itu tidak berpartisipasi dalam pengoperasian cluster. Hanya ketika penjadwal utama gagal, siaga akan mengambil alih pekerjaan penjadwal utama. Ketika penjadwal utama melanjutkan fungsinya, penjadwal utama terus berfungsi sebagai pintu masuk ke klaster, dan siaga terus berada dalam keadaan redundan (tergantung pada prioritas).

Keepaliva mengimplementasikan solusi ketersediaan tinggi berdasarkan protokol vrrp.

1. Alamat multicast:

224.0.0.18 berkomunikasi berdasarkan alamat multicast, dan mengirimkan pesan antara perangkat primer dan sekunder. Tentukan apakah pihak lain masih hidup.

2. Menentukan lokasi primer dan sekunder berdasarkan prioritas.

3. Failover, jika mesin utama hang, mesin cadangan akan terus bekerja. Ketika mesin master pulih, mesin cadangan akan terus menunggu.

4. Peralihan antara primer dan sekunder adalah peralihan alamat VIP.

Keepalive muncul khusus untuk LVS, namun tidak eksklusif untuk LVS.

Masukkan deskripsi gambar di sini

Masukkan deskripsi gambar di sini

3. Perbedaan lvs dan nginx untuk loadbalancing:

LVS adalah negara kernel penerusan empat lapisan IP + port lapisan empat proksi

proksi empat lapis nginx juga bisa menjadi proksi tujuh lapis

lvs (mode DR)+nginx+kucing jantan

LVS mengimplementasikan penerusan lapisan 4 + nginx mengimplementasikan penerusan lapisan 7 (dinamis)

Mengakses alamat VIP LVS dapat mewujudkan pemisahan dinamis dan statis.

Masukkan deskripsi gambar di sini

4. Operasi eksperimental 1. Implementasi mode DR:

Masukkan deskripsi gambar di sini

Implementasi mode DR:

nignx1: RS1 192.168.168.10

nginx2: RS2 192.168.168.20

Nomor telepon: 192.168.168.100

tes1: Penjadwal 192.168.168.50

tes2: klien 192.168.168.60

tes1: penjadwal

modprobe ip_vs memulai kernel
yum -y install ipvsadm* install alat manajemen lvs

[root@test5 ~]# cd /etc/sysconfig/skrip-jaringan/
[root@test5 skrip jaringan]# vim ifcfg-ens33:0

PERANGKAT=ens33:0 ##Tambahkan kartu jaringan virtual
ONBOOT=ya
Alamat IP=192.168.168.100
MASKER JARINGAN=255.255.255.0

jika naik ens33:0
konfigurasi if

Masukkan deskripsi gambar di sini

vim /etc/sysctl.conf

net.ipv4.ip_forward=0

#关闭数据包转发功能

net.ipv4.conf.all.send_redirects=0

#禁止系统发送icmp重定向的消息。###lo回环接口不接收icmp消息。只针对真实的ip地址。

net.ipv4.conf.default.send_redirects=0

#禁止网络接口发送icmp重定向的消息。

net.ipv4.conf.ens33.send_redirects=0

#针对ens33设备,禁止发送icmp重定向消息。

sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

Penjadwal memungkinkan penerusan

ipvsadm -A -t 192.168.168.100:80 -s rr
[root@test5 opt]# ipvsadm -a -t 192.168.168.100:80 -r 192.168.168.10:80 -g
[root@test5 opt]# ipvsadm -a -t 192.168.168.100:80 -r 192.168.168.20:80 -g
[root@test5 opt]# ipvsadm-save > /etc/sysconfig/ipvsadm
[root@test5 opt]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.168.100:80 rr
  -> 192.168.168.10:80            Route   1      0          0         
  -> 192.168.168.20:80            Route   1      0          0  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

Siapkan antarmuka loopback virtual

服务器1:

vim /usr/local/nginx/html/index.html 

this is nginx1

systemctl restart nginx

服务器2:

vim /usr/local/nginx/html/index.html 

this is nginx2

systemctl restart nginx

同时开启:

DEVICE=lo:0
IPADDR=192.168.168.100
NETMASK=255.255.255.255

ONBOOT=yes
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

cd /etc/sysconfig/skrip-jaringan/

vim /etc/sysctl.conf

rute tambah -host 192.168.168.100 dev lo:0

Tetapkan alamat IP ke 192.168.168.100 untuk hanya ditambahkan ke antarmuka loopback sebagai VIP LVS. Meneruskan ke RS melalui mode perutean memungkinkan VIP mengidentifikasi server sebenarnya.

vim /etc/sysctl.conf

net.ipv4.conf.lo.arp_ignore = 1

#Atur antarmuka loopback untuk mengabaikan permintaan ARP dari antarmuka mana pun
net.ipv4.conf.lo.arp_announce = 2
#Atur alamat loopback untuk hanya mengumumkan alamat IP lokal, tetapi tidak menanggapi permintaan ARP
net.ipv4.conf.semua.arp_ignore = 1
##Atur semua antarmuka untuk mengabaikan permintaan ARP dari antarmuka mana pun
net.ipv4.conf.all.arp_announce = 2
##Atur semua antarmuka agar hanya mengiklankan alamat IP lokal, namun tidak menanggapi permintaan ARP.

sysctl-p - bahasa Indonesia

keriting 192.168.168.100

Masukkan deskripsi gambar di sini

5. Mode DR+nginx+kucing jantan:

Masukkan deskripsi gambar di sini

Masukkan deskripsi gambar di sini

Implementasi mode DR:

nignx1: RS1 192.168.168.10

nginx2: RS2 192.168.168.20

Nomor telepon: 192.168.168.100

tes1: Penjadwal 192.168.168.50

tes2: klien 192.168.168.60

tes1: penjadwal

modprobe ip_vs memulai kernel
yum -y install ipvsadm* install alat manajemen lvs

[root@test5 ~]# cd /etc/sysconfig/skrip-jaringan/
[root@test5 skrip jaringan]# vim ifcfg-ens33:0

PERANGKAT=ens33:0 ##Tambahkan kartu jaringan virtual
ONBOOT=ya
Alamat IP=192.168.168.100
MASKER JARINGAN=255.255.255.0

jika naik ens33:0
konfigurasi if

Masukkan deskripsi gambar di sini

vim /etc/sysctl.conf

net.ipv4.ip_forward=0

#关闭数据包转发功能

net.ipv4.conf.all.send_redirects=0

#禁止系统发送icmp重定向的消息。###lo回环接口不接收icmp消息。只针对真实的ip地址。

net.ipv4.conf.default.send_redirects=0

#禁止网络接口发送icmp重定向的消息。

net.ipv4.conf.ens33.send_redirects=0

#针对ens33设备,禁止发送icmp重定向消息。

sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

Penjadwal memungkinkan penerusan

ipvsadm -A -t 192.168.168.100:80 -s rr
[root@test5 opt]# ipvsadm -a -t 192.168.168.100:80 -r 192.168.168.10:80 -g
[root@test5 opt]# ipvsadm -a -t 192.168.168.100:80 -r 192.168.168.20:80 -g
[root@test5 opt]# ipvsadm-save > /etc/sysconfig/ipvsadm
[root@test5 opt]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.168.100:80 rr
  -> 192.168.168.10:80            Route   1      0          0         
  -> 192.168.168.20:80            Route   1      0          0  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

Siapkan antarmuka loopback virtual

服务器1:

vim /usr/local/nginx/html/index.html 

this is nginx1

systemctl restart nginx

服务器2:

vim /usr/local/nginx/html/index.html 

this is nginx2

systemctl restart nginx

同时开启:

DEVICE=lo:0
IPADDR=192.168.168.100
NETMASK=255.255.255.255

ONBOOT=yes
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

cd /etc/sysconfig/skrip-jaringan/

vim /etc/sysctl.conf

rute tambah -host 192.168.168.100 dev lo:0

Tetapkan alamat IP ke 192.168.168.100 untuk hanya ditambahkan ke antarmuka loopback sebagai VIP LVS. Meneruskan ke RS melalui mode perutean memungkinkan VIP mengidentifikasi server sebenarnya.

vim /etc/sysctl.conf

net.ipv4.conf.lo.arp_ignore = 1

#Atur antarmuka loopback untuk mengabaikan permintaan ARP dari antarmuka mana pun
net.ipv4.conf.lo.arp_announce = 2
#Atur alamat loopback untuk hanya mengumumkan alamat IP lokal, tetapi tidak menanggapi permintaan ARP
net.ipv4.conf.semua.arp_ignore = 1
##Atur semua antarmuka untuk mengabaikan permintaan ARP dari antarmuka mana pun
net.ipv4.conf.all.arp_announce = 2
##Atur semua antarmuka agar hanya mengiklankan alamat IP lokal, namun tidak menanggapi permintaan ARP.

sysctl-p - bahasa Indonesia

keriting 192.168.168.100

Masukkan deskripsi gambar di sini

nginx1 dan nginx2 mengkonfigurasi proxy lapisan 7 untuk dikirim ke kucing jantan

vim /usr/local/nginx/conf/nginx.conf

#keepalive_timeout  0;
keepalive_timeout  65;
upstream tomcat {
    server 192.168.168.40:8080 weight=2;
    server 192.168.168.90:8080 weight=1;
            }
#gzip  on;

server {
    listen       80;
    server_name  localhost;
#charset koi8-r;

#access_log  logs/host.access.log  main;
location ~ .*.jsp$ {
proxy_pass http://tomcat;
proxy_set_header HOST $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

kucing jantan1:

vim /usr/lokal/tomcat/conf/server.xml

 <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
    <Context docBase="/usr/local/tomcat/webapps/test" path="" reloadable="true" />
  • 1
  • 2

mkdir -p /usr/lokal/tomcat/webapps/uji

cd /usr/lokal/tomcat/webapps/uji

vim indeks.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>

<head>
<title>JSP test1 page</title>
</head>

<body>
<% out.println("动态页面 1,http://www.test1.com");%>
</body>
</html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

cd /usr/lokal/tomcat/bin/

./matikan.sh

./startup.sh

netstat -antp | grep 8080

kucing tomcat2:

vim /usr/lokal/tomcat/conf/server.xml

 <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
    <Context docBase="/usr/local/tomcat/webapps/test" path="" reloadable="true" />
  • 1
  • 2

mkdir -p /usr/lokal/tomcat/webapps/uji

cd /usr/lokal/tomcat/webapps/uji

vim indeks.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>

<head>
<title>JSP test2 page</title>
</head>

<body>
<% out.println("动态页面 2,http://www.test2.com");%>
</body>
</html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

cd /usr/lokal/tomcat/bin/

./matikan.sh

./startup.sh

netstat -antp | grep 8080

Masukkan deskripsi gambar di sini

1. Alasan mengkonfigurasi ip virtual (vip):

Penerusan lapisan 2 hanya mengubah header mac.

Penerusan lapisan data link tidak akan mengubah ip header, hanya mac header, dan meneruskan paket data ke server RS ​​back-end. Karena IP target paket data yang diterima RS masih VIP, untuk memastikan bahwa RS dapat memprosesnya dengan benar Paket ini dan alih-alih menjatuhkannya, VIP harus dikonfigurasi pada kartu jaringan loopback RS (lo). Dengan cara ini, RS akan menganggap VIP ini adalah IP miliknya dan dapat menangani permintaan ini. ----- Ini sama dengan permintaan alamat Anda sendiri, dan kemudian dikirim ke semua host melalui siaran arp. Jangkau klien melalui host virtual terlindung.

  1. Kembali langsung ke klien : Dalam mode DR, ketika klien mengirimkan permintaan ke VIP, permintaan ini diteruskan ke server RS ​​back-end melalui penjadwal LVS (Director Server). Setelah server RS ​​memproses permintaan, server RS ​​perlu mengembalikan respons secara langsung ke klien alih-alih mengembalikannya ke penjadwal LVS. Untuk mencapai hal ini, server RS ​​perlu dikonfigurasi dengan alamat VIP yang sama dengan penjadwal LVS untuk memastikan bahwa klien dapat mengenali dan menerima respons dari server RS.Klien mengakses IP penjadwal, sehingga meneruskannya kembali dengan URL virtual penjadwal untuk memastikan bahwa klien dapat mengidentifikasinya.
  2. Penulisan ulang alamat MAC : Dalam mode DR, penjadwal LVS meneruskan permintaan ke server RS ​​dengan menulis ulang alamat MAC target dari pesan permintaan. Ketika RS server menerima dan memproses permintaan tersebut, karena IP target permintaan tersebut adalah VIP, maka server RS ​​akan langsung mengirimkan respon ke klien tanpa melalui penjadwal LVS. Saat ini, jika server RS ​​tidak dikonfigurasi dengan VIP, klien mungkin menolak menerima respons karena tidak dapat mengidentifikasi sumber respons.

2. Alasan mengapa IP virtual VIP dikonfigurasi pada antarmuka lo

Mencegah gangguan tabel ARP : Jika VIP diatur pada kartu jaringan keluar RS, RS akan merespons permintaan ARP klien, yang dapat menyebabkan kebingungan pada tabel ARP klien atau gateway, sehingga mempengaruhi operasi normal seluruh sistem penyeimbangan beban.Dengan mengkonfigurasi VIP pada antarmuka lo, Anda dapat mencegah RS merespons permintaan ARP, sehingga menjaga stabilitas lingkungan jaringan.

Mengonfigurasi lo (alamat loopback lokal) sebagai alamat VIP (IP Virtual, IP virtual) di server RS ​​(Server Nyata) terutama didasarkan pada persyaratan khusus dan mekanisme implementasi teknologi penyeimbangan beban (seperti mode LVS-DR). Berikut ini adalah analisis peran secara rinci:

1. Pastikan RS dapat menangani paket IP dengan alamat tujuan VIP

  • Menerima dan memproses permintaan : Dalam mode penyeimbangan beban seperti LVS-DR, setelah paket permintaan klien mencapai penyeimbang beban, IP targetnya ditetapkan ke VIP, namun penyeimbang beban tidak akan mengubah IP dan port paket permintaan, namun hanya akan mengubah Alamat MAC. Alamat MAC dari RS akhir dan meneruskan paket data ke RS. Karena IP tujuan paket yang diterima oleh RS masih VIP, untuk memastikan bahwa RS dapat memproses paket dengan benar alih-alih membuangnya, VIP harus dikonfigurasi pada kartu jaringan loopback (lo) RS. Dengan cara ini, RS akan menganggap VIP ini adalah IP miliknya dan dapat menangani permintaan ini.

2. Hindari kebingungan dalam permintaan dan tanggapan ARP

  • Mencegah gangguan tabel ARP : Jika VIP diatur pada kartu jaringan keluar RS, RS akan merespons permintaan ARP klien, yang dapat menyebabkan kebingungan pada tabel ARP klien atau gateway, sehingga mempengaruhi operasi normal seluruh sistem penyeimbangan beban. Dengan mengkonfigurasi VIP pada antarmuka lo, Anda dapat mencegah RS merespons permintaan ARP, sehingga menjaga stabilitas lingkungan jaringan.

3. Meningkatkan keamanan dan stabilitas sistem

  • Meningkatkan ketahanan koneksi TCP : Saat mengkonfigurasi protokol perutean dinamis (seperti OSPF, BGP), alamat IP antarmuka loopback biasanya digunakan sebagai id router. Hal ini karena antarmuka loopback dianggap sebagai antarmuka yang tidak akan pernah turun, sehingga meningkatkan stabilitas dan stabilitas keamanan koneksi TCP. Meskipun peran ini tidak secara langsung tercermin dalam skenario di mana VIP dikonfigurasi secara langsung sebagai alamat lo di server RS, hal ini mencerminkan nilai universal antarmuka loopback dalam meningkatkan stabilitas dan keamanan sistem.

4. Sederhanakan konfigurasi dan manajemen

  • Konfigurasi dan manajemen terpadu : Mengonfigurasi antarmuka lo sebagai alamat VIP di server RS ​​dapat membuat konfigurasi semua RS konsisten dan memfasilitasi manajemen dan pemeliharaan terpadu. Pada saat yang sama, karena antarmuka loopback bersifat virtual dan tidak menggunakan sumber daya antarmuka jaringan fisik, hal ini tidak akan memengaruhi konfigurasi jaringan fisik server.

5. Tindakan Pencegahan

  • Pastikan jaringan antara RS dan klien dapat dijangkau : Setelah RS memproses permintaan, respons harus dikembalikan langsung ke klien, sehingga jaringan antara RS dan klien harus dapat dijangkau. Hal ini biasanya dilakukan dengan memastikan bahwa gateway atau perutean default RS diatur dengan benar.
  • Konfigurasikan parameter kernel yang sesuai: Untuk memastikan bahwa RS dapat menangani paket IP dengan alamat tujuan VIP dengan benar, Anda mungkin perlu mengonfigurasi beberapa parameter kernel (seperti arp_ignore dan arp_announce) untuk mengontrol perilaku respons RS terhadap permintaan ARP.

Singkatnya, fungsi utama mengkonfigurasi lo sebagai alamat VIP di server RS ​​adalah untuk memastikan bahwa RS dapat menerima dan memproses paket IP dengan alamat tujuan VIP, sekaligus menghindari kebingungan dalam permintaan dan respons ARP, serta meningkatkan keamanan dan stabilitas. dari sistem. Selain itu, konfigurasi ini membantu menyederhanakan proses konfigurasi dan manajemen.

Loopback Interface adalah antarmuka jaringan khusus yang digunakan sebagai antarmuka jaringan virtual dalam tumpukan protokol jaringan komputer. Tujuan utama dari antarmuka loopback adalah untuk memungkinkan sistem berkomunikasi dengan jaringannya sendiri tanpa melalui antarmuka jaringan fisik apa pun. Metode komunikasi ini disebut Loopback atau Circular

  1. Penggunaan dalam mode LVS DR: Dalam mode DR (Direct Routing) LVS (Linux Virtual Server), antarmuka loopback digunakan untuk mengkonfigurasi alamat IP virtual (VIP) untuk memastikan bahwa server nyata backend tidak akan merespons permintaan ARP VIP, sehingga menghindari alamat konflik dan potensi masalah komunikasi.

6. Penjelasan antarmuka:

Antarmuka jaringan adalah perangkat atau perangkat lunak dalam sistem komputer yang terhubung ke jaringan komputer. Ini menyediakan antarmuka komunikasi antara komputer dan jaringan dan bertindak sebagai jembatan antara komputer dan jaringan. Berikut ini adalah definisi spesifik dan informasi terkait antarmuka jaringan:

definisi

  • tingkat fisik: Antarmuka jaringan biasanya mengacu pada port atau perangkat yang menghubungkan komputer ke jaringan melalui koneksi fisik (seperti kabel Ethernet, kartu jaringan nirkabel, dll.).
  • tingkat perangkat lunak: Antarmuka jaringan mengimplementasikan interaksi dengan jaringan melalui tumpukan protokol jaringan dan driver yang disediakan oleh sistem operasi.

memengaruhi

  • transmisi data: Antarmuka jaringan bertanggung jawab untuk mengirimkan data ke atau menerima data dari jaringan, mewujudkan fungsi transmisi data antara komputer dan jaringan.
  • Pemrosesan protokol: Antarmuka jaringan menangani berbagai protokol jaringan (seperti TCP/IP, UDP, dll.) untuk memastikan bahwa data dapat dikirim dan diproses dengan cara yang ditentukan oleh protokol.
  • Manajemen alamat: Antarmuka jaringan bertanggung jawab untuk mengelola alokasi alamat dan pengelolaan komputer di jaringan, termasuk konfigurasi dan pengelolaan parameter jaringan seperti alamat IP, subnet mask, dan gateway default.
  • Alur kontrol: Antarmuka jaringan menyesuaikan kecepatan dan prioritas transmisi data sesuai dengan tingkat kemacetan jaringan dan kebutuhan transmisi data untuk menyeimbangkan beban jaringan dan memastikan stabilitas dan kinerja jaringan.
  • Deteksi dan koreksi kesalahan: Antarmuka jaringan memiliki fungsi deteksi dan koreksi kesalahan, serta meningkatkan keandalan dan keakuratan transmisi data melalui teknologi seperti checksum dan kode koreksi kesalahan.

jenis

Ada berbagai jenis antarmuka jaringan, dan setiap jenis antarmuka jaringan memiliki karakteristik dan skenario yang dapat diterapkan:

  • Antarmuka Ethernet : Antarmuka jaringan kabel yang paling umum, menghubungkan komputer ke LAN atau WAN melalui kabel Ethernet. Antarmuka Ethernet menggunakan protokol Ethernet untuk transmisi data, mendukung transmisi data berkecepatan tinggi dan berbagai aplikasi jaringan.
  • Antarmuka LAN nirkabel (antarmuka WLAN): Komputer terhubung ke jaringan area lokal melalui sinyal nirkabel, dan protokol LAN nirkabel (seperti Wi-Fi) digunakan untuk transmisi data.
  • Antarmuka Bluetooth: Teknologi komunikasi nirkabel jarak pendek yang memungkinkan koneksi nirkabel antar perangkat melalui sinyal Bluetooth.
  • antarmuka serial: Mengirimkan data sedikit demi sedikit antara komputer dan perangkat eksternal melalui komunikasi serial. Antarmuka serial yang umum mencakup antarmuka serial RS-232 dan USB, yang digunakan untuk menghubungkan printer, modem, dan perangkat lainnya.

Standar antarmuka umum

  • Antarmuka RJ-45: Ini adalah antarmuka perangkat jaringan yang paling umum saat ini, umumnya dikenal sebagai "kepala kristal", dan istilah teknisnya adalah konektor RJ-45, yang termasuk dalam jenis antarmuka Ethernet twisted pair.
  • Antarmuka serat optik SC : Ini juga digunakan di era Ethernet, namun karena biayanya yang tinggi, ini tidak populer di masa-masa awal. Dengan promosi jaringan Gigabit, antarmuka serat optik SC mendapat perhatian baru.
  • antarmuka AUI: Khusus digunakan untuk menghubungkan kabel koaksial tebal. Ini adalah antarmuka umum pada kartu jaringan awal dan jarang digunakan sekarang.
  • antarmuka BNC: Antarmuka yang dirancang khusus untuk dihubungkan ke kabel koaksial tipis, dan sekarang kurang umum digunakan pada sakelar.

Singkatnya, antarmuka jaringan adalah komponen kunci untuk komunikasi antara komputer dan jaringan. Ia mewujudkan transmisi data dan komunikasi antara komputer dan jaringan melalui koneksi fisik atau sinyal nirkabel. Berbagai jenis antarmuka jaringan cocok untuk berbagai skenario dan aplikasi, memberikan dukungan penting untuk komunikasi antara komputer dan jaringan.

Pertanyaan wawancara

Bagaimana cara mengatasi masalah otak terbelah pada Keepalive?

Ada berbagai jenis antarmuka jaringan, dan setiap jenis antarmuka jaringan memiliki karakteristik dan skenario yang dapat diterapkan:

  • Antarmuka Ethernet : Antarmuka jaringan kabel yang paling umum, menghubungkan komputer ke LAN atau WAN melalui kabel Ethernet. Antarmuka Ethernet menggunakan protokol Ethernet untuk transmisi data, mendukung transmisi data berkecepatan tinggi dan berbagai aplikasi jaringan.
  • Antarmuka LAN nirkabel (antarmuka WLAN): Komputer terhubung ke jaringan area lokal melalui sinyal nirkabel, dan protokol LAN nirkabel (seperti Wi-Fi) digunakan untuk transmisi data.
  • Antarmuka Bluetooth: Teknologi komunikasi nirkabel jarak pendek yang memungkinkan koneksi nirkabel antar perangkat melalui sinyal Bluetooth.
  • antarmuka serial: Mengirimkan data sedikit demi sedikit antara komputer dan perangkat eksternal melalui komunikasi serial. Antarmuka serial yang umum mencakup antarmuka serial RS-232 dan USB, yang digunakan untuk menghubungkan printer, modem, dan perangkat lainnya.

Standar antarmuka umum

  • Antarmuka RJ-45: Ini adalah antarmuka perangkat jaringan yang paling umum saat ini, umumnya dikenal sebagai "kepala kristal", dan istilah teknisnya adalah konektor RJ-45, yang termasuk dalam jenis antarmuka Ethernet twisted pair.
  • Antarmuka serat optik SC : Ini juga digunakan di era Ethernet, namun karena biayanya yang tinggi, ini tidak populer di masa-masa awal. Dengan promosi jaringan Gigabit, antarmuka serat optik SC mendapat perhatian baru.
  • antarmuka AUI: Khusus digunakan untuk menghubungkan kabel koaksial tebal. Ini adalah antarmuka umum pada kartu jaringan awal dan jarang digunakan sekarang.
  • antarmuka BNC: Antarmuka yang dirancang khusus untuk dihubungkan ke kabel koaksial tipis, dan sekarang kurang umum digunakan pada sakelar.

Singkatnya, antarmuka jaringan adalah komponen kunci untuk komunikasi antara komputer dan jaringan. Ia mewujudkan transmisi data dan komunikasi antara komputer dan jaringan melalui koneksi fisik atau sinyal nirkabel. Berbagai jenis antarmuka jaringan cocok untuk berbagai skenario dan aplikasi, memberikan dukungan penting untuk komunikasi antara komputer dan jaringan.

Pertanyaan wawancara

Bagaimana cara mengatasi masalah otak terbelah pada Keepalive?