ืื ืืขืฉืืช ืื ืืืื ืฉื ืฉืจืช ืืื ืืื ื ืืกืคืืง ืืขืืืื ืื ืืืงืฉืืช, ืืืฆืจื ืืชืืื ื ืืื ื ืืกืคืง ืืืืื ืขืืืกืื? ืืฉื ื ืืคืฉืจืืืืช ืจืืืช, ืืื ืืจืืืฉืช ืืืื ืขืืืกืื ืืขื ืืืืืช ืืกืคืจ ืืืงืฉืืช. ืื ืืื ื ืืื ืืืื ืืืืงืืข ืืคื ืืืฆื, ืชืื ืืชืืฉืืืช ืืชื ืืื ืืงืืืืื. ืืืืืจ ืื ื ืกืคืจ ืืื ืื ืชืืืื ืืขืฉืืช ืื ืืชืงืฆืื ืฉืืื ืืืืื ืืืฉ ืืื ืฉืจืช ืืื ืื.
ืืืขืจืืช ืฉืขืืืจื ืืื ืฆืืจื ืืืคืืืช ืืช ืืขืืืก ืขื ืืื ืืฉืจืชืื, ืืืจื ื ื-DLP (ืืขืจืืช ืืื ืืขืช ืืืืคืช ืืืืข) ืืืืช InfoWatch. ืืืคืืื ืฉื ืืืืฉืื ืืื ืืืงืื ืคืื ืงืฆืืืช ืืืืืื ืืืื ืืฉืจืชื ื"ืงืจื".
ืืืช ืืืขืืืช ืฉื ืชืงืื ื ืืื ืืืืชื ืืืกืจ ืืืืืืช ืืืฉืชืืฉ ืืืงืืจ NAT (SNAT). ืืืืข ืืื ืฆืืจื ืืื ืืืืฆื ื ืคืชืจื ืืืขืื, ื ืชืืจ ืืืืฉื.
ืื ืืชืืืื ืืชืจืฉืื ืืืืื ืฉื ืืืขืจืืช ืืงืืืืช ื ืจืื ืื:
ืชืขืืืจืช ICAP, SMTP, ืืืจืืขืื ืืืืฉืื ืืฉืชืืฉ ืขืืืื ืืฉืจืช Traffic Monitor (TM). ืืื ืขื ืืืช, ืฉืจืช ืืกื ืื ืชืื ืื ืืชืืืื ืืงืืืช ืขื ืืขืืืก ืืืืจ ืขืืืื ืืืจืืขืื ื-TM, ืื ืืขืืืก ืขื ื-TM ืขืฆืื ืืื ืืื. ืื ืืื ืืจืืจ ืืืืคืขืช ืชืืจ ืืืืขืืช ืืฉืจืช Device Monitor (DM), ืืื ืื ืืขืืืก ืืืขืื ืืืืืืจืื ื-TM.
ืืืื ืจืืฉืื, ืื ื ืืกืืฃ ืฉืจืช TM ื ืืกืฃ ืืกืืืื ืื, ื ืืชื ืืืื ืืืืืืฃ ืืืื ICAP ืื DM, ืื ืืืืื ื ืื ืืืฉืชืืฉ ืืฉืืื ืื, ืืืืืื ืฉืกืืืื ืืช ืืชืงืืืช ืืืคืืชื.
ืชืืืืจ ืืคืชืจืื
ืืชืืืื ืืืคืืฉ ืืืจ ืคืชืจืื ืืชืืื, ืืกืชืคืงื ื ืืชืืื ื ืืืืคืฆืช ืืืืคืฉืืืช
ืื ืฉืจืฆืื ื ืืืฉืื (ืืืคืืืช ืืช ืืขืืืก ืขื TM ืืืฉืืืจ ืขื ืืจืื ืื ืืืืืช ืฉื ืกืืืื ืืช ืชืงืืืช) ืืื ืฆืจืื ืืขืืื ืืคื ืืชืืื ืืช ืืืื:
ืืฉืืืงื ืืช ืืคืื ืงืฆืืื ืืืืช, ืืชืืจืจ ืฉืืืืื RedHat ืืืืชืื ืืืฉืืช ืืืืชืงื ืขื ืืฉืจืชืื ืืื ื ืชืืื ื-SNAT. ืืืงืจื ืฉืื ื, ืชืื ื ื ืืืฉืชืืฉ ื-SNAT ืืื ืืืืืื ืฉืื ืืช ื ืื ืกืืช ืืชืืืืืช ืืืืื ืืืฉืืื ืืืืชื ืืชืืืช IP, ืืืจืช ื ืงืื ืืช ืืชืืื ื ืืืื:
ืื ืื ืืงืืื. ืืืืืื, ืฉืจืช ืคืจืืงืกื, ืืืืจ ืฉืฉืื ืื ืืช ืืืชืืืช IP ืืืจืืืืืืช (VIP), ืืฆืคื ืืชืืืื ื-VIP, ืื ืืืงืจื ืื ืืื ืชืืืข ื-IP2 ืขืืืจ ืืคืขืืืช ืฉื ืฉืืืืช ืืืืืื. ื ืืฆื ืคืชืจืื: ืืื ืฆืืจื ืืืฆืืจ ืืืืช ื ืืชืื ื ืืกืคืช ืืืืืื ืืืืืจ ืฉื ื ืฉืจืชื TM ืขื ืจืฉืช ื ืคืจืืช, ืืคื ืฉืืืฆื ืืืื:
ืืืืจืืช
ื ืืืฉื ืกืืื ืฉื ืฉื ื ืฉืจืชืื ืขื ืฉืืจืืชื ICAP, SMTP, TCP 9100 ืืืืื ืขืืืกืื ืืืชืงื ืขื ืืื ืืื.
ืืฉ ืื ื ืฉื ื ืฉืจืชื RHEL6, ืฉืืื ืืืกืจื ืืืืืจืื ืืกืื ืืจืืืื ืืืื ืืืืืืช.
ืฉืืจืืชืื ืฉืื ื ืฆืจืืืื ืืืื:
โข ICAP โ tcp 1344;
โข SMTP โ tcp 25.
ืฉืืจืืช ืืขืืจืช ืชื ืืขื ื-DM โ tcp 9100.
ืจืืฉืืช, ืขืืื ื ืืชืื ื ืืช ืืจืฉืช.
ืืชืืืช IP ืืืจืืืืืืช (VIP):
โข IP: 10.20.20.105.
ืฉืจืช TM6_1:
โข IP ืืืฆืื ื: 10.20.20.101;
โข IP ืคื ืืื: 192.168.1.101.
ืฉืจืช TM6_2:
โข IP ืืืฆืื ื: 10.20.20.102;
โข IP ืคื ืืื: 192.168.1.102.
ืืืืจ ืืื ืื ื ืืืคืฉืจืื ืืขืืจืช IP ืืฉื ื ืฉืจืชื TM. ืืืฆื ืืขืฉืืช ืืืช ืืชืืืจ ื-RedHat
ืื ืื ื ืืืืืืื ืืืื ืืืฉืจืชืื ืืืื ืื ื ืืื ืืจืืฉื ืืืืื ืืืฉืจืชืื ืืืื ืืืืืื. ืชื ืืืืกืืจ ืืืืืช TM6_1, ืืืืืื ืืืื TM6_2.
ืืืืืื ืื ื ืืืฆืจืื ืืืืช ื ืืชืื ืืืฉื ืฉื ืืืืื ืืืืื ื ืืชืื:
[root@tm6_2 ~]echo 101 balancer >> /etc/iproute2/rt_tables
[root@tm6_2 ~]ip rule add from 192.168.1.102 table balancer
[root@tm6_2 ~]ip route add default via 192.168.1.101 table balancer
ืืคืงืืืืช ืฉืืขืื ืคืืขืืืช ืขื ืฉืืืขืจืืช ืืืคืขืืช ืืืืฉ. ืืื ืืืืืื ืฉืืืกืืืืื ืืืฉืืจื ืืืืจ ืืชืืื ืืืืฉ, ืชืืื ืืืืื ืืืชื /etc/rc.d/rc.local, ืืื ืขืืืฃ ืืจื ืงืืืฅ ืืืืืจืืช /etc/sysconfig/network-scripts/route-eth1 (ืืขืจื: ืืื ื ืขืฉื ืฉืืืืฉ ืืชืืืืจ ืฉืื ื).
ืืชืงื ืืช Keepalive ืืฉื ื ืฉืจืชื ื-TM. ืืฉืชืืฉื ื ื-rpmfind.net ืืืงืืจ ืืืคืฆื:
[root@tm6_1 ~]#yum install https://rpmfind.net/linux/centos/6.10/os/x86_64/Packages/keepalived-1.2.13-5.el6_6.x86_64.rpm
ืืืืืจืืช Keepalive, ืื ื ืืงืฆืื ืืช ืืื ืืฉืจืชืื ืืืืกืืจ, ืืช ืืฉื ื ืืืืืื. ืืืืจ ืืื ืืืืจื ื VIP ืืฉืืจืืชืื ืืืืืื ืขืืืกืื. ืงืืืฅ ืืืืืจืืช ื ืืฆื ืืืจื ืืื ืืื: /etc/keepalived/keepalived.conf.
ืืืืจืืช ืขืืืจ TM1 Server
vrrp_sync_group VG1 {
group {
VI_1
}
}
vrrp_instance VI_1 {
state MASTER
interface eth0
lvs_sync_daemon_inteface eth0
virtual_router_id 51
priority 151
advert_int 1
authentication {
auth_type PASS
auth_pass example
}
virtual_ipaddress {
10.20.20.105
}
}
virtual_server 10.20.20.105 1344 {
delay_loop 6
lb_algo wrr
lb_kind NAT
protocol TCP
real_server 192.168.1.101 1344 {
weight 1
TCP_CHECK {
connect_timeout 3
connect_port 1344
nb_get_retry 3
delay_before_retry 3
}
}
real_server 192.168.1.102 1344 {
weight 1
TCP_CHECK {
connect_timeout 3
connect_port 1344
nb_get_retry 3
delay_before_retry 3
}
}
}
virtual_server 10.20.20.105 25 {
delay_loop 6
lb_algo wrr
lb_kind NAT
protocol TCP
real_server 192.168.1.101 25 {
weight 1
TCP_CHECK {
connect_timeout 3
connect_port 25
nb_get_retry 3
delay_before_retry 3
}
}
real_server 192.168.1.102 25 {
weight 1
TCP_CHECK {
connect_timeout 3
connect_port 25
nb_get_retry 3
delay_before_retry 3
}
}
}
virtual_server 10.20.20.105 9100 {
delay_loop 6
lb_algo wrr
lb_kind NAT
protocol TCP
real_server 192.168.1.101 9100 {
weight 1
TCP_CHECK {
connect_timeout 3
connect_port 9100
nb_get_retry 3
delay_before_retry 3
}
}
real_server 192.168.1.102 9100 {
weight 1
TCP_CHECK {
connect_timeout 3
connect_port 9100
nb_get_retry 3
delay_before_retry 3
}
}
}
ืืืืจืืช ืขืืืจ TM2 Server
vrrp_sync_group VG1 {
group {
VI_1
}
}
vrrp_instance VI_1 {
state BACKUP
interface eth0
lvs_sync_daemon_inteface eth0
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass example
}
virtual_ipaddress {
10.20.20.105
}
}
ืื ื ืืชืงืื ืื LVS ืขื ืืืืกืืจ, ืฉืืืื ืืช ืืชืขืืืจื. ืื ืื ืืืืื ื ืืืชืงืื ืืืืื ืขืืืจ ืืฉืจืช ืืฉื ื, ืืืืืื ืฉืืฉ ืื ื ืจืง ืฉื ื ืฉืจืชืื ืืชืฆืืจื.
[root@tm6_1 ~]##yum install https://rpmfind.net/linux/centos/6.10/os/x86_64/Packages/ipvsadm-1.26-4.el6.x86_64.rpm
ืืืืืื ืื ืืื ืขื ืืื keepalved, ืฉืืืจ ืืืืจื ื.
ืืื ืืืฉืืื ืืช ืืชืืื ื, ืืืื ื ืืกืืฃ Keepalved ืืืคืขืื ืืืืืืืืช ืืฉื ื ืืฉืจืชืื:
[root@tm6_1 ~]#chkconfig keepalived on
ืืกืงื ื
ืืืืง ืืช ืืชืืฆืืืช
ืืืื ื ืจืืฅ Keepalive ืืฉื ื ืืฉืจืชืื:
service keepalived start
ืืืืงืช ืืืืื ืืช ืฉื ืืชืืืช ืืืจืืืืืืช VRRP
ืืืื ื ืืืื ืฉื-VIP ื ืืฆื ืืืืกืืจ:
ืืืื VIP ืืืืืื:
ืืืืฆืขืืช ืคืงืืืช ping, ื ืืืืง ืืช ืืืื ืืช ื-VIP:
ืืขืช ืืชื ืืืื ืืืืืช ืืช ืืืกืืจ ืืืืคืขืื ืืช ืืคืงืืื ืฉืื ping
.
ืืชืืฆืื ืฆืจืืื ืืืืฉืืจ ืืื, ืืืืืืื ื ืจืื VIP:
ืืืืงืช ืืืืื ืฉืืจืืช
ื ืืงื ืืืืืื SMTP. ืืืื ื ืฉืืง ืฉื ื ืืืืืจืื ื-10.20.20.105 ืื ืืื ืืช:
telnet 10.20.20.105 25
ื-master ืื ืื ื ืืืืจืื ืืจืืืช ืฉืฉื ื ืืืืืืจืื ืคืขืืืื ืืืืืืจืื ืืฉืจืชืื ืฉืื ืื:
[root@tm6_1 ~]#watch ipvsadm โLn
ืืคืืื, ืืืืขื ื ืชืฆืืจื ืกืืืื ืืช ืืชืงืืืช ืฉื ืฉืืจืืชื TM ืขื ืืื ืืชืงื ืช ืืืืื ืืืื ืืฉืจืชื ื-TM. ืขืืืจ ืืืขืจืืช ืฉืื ื, ืื ืืคืืืช ืืช ืืขืืืก ืขื TM ืืืฆื, ืื ืฉืืคืฉืจ ืืคืชืืจ ืืช ืืขืืืช ืืืขืืจ ืงื ื ืืืื ืืืคืงื ืืืืฆืขืืช ืืืขืจืืช.
ืืจืื ืืืงืจืื ืคืชืจืื ืื ืืืืฉื ืืืืืจืืช ืืืื ืขืืืืืช ื ืืกืคืืช, ืื ืืขืืชืื ืืฉื ื ืืกืคืจ ืืืืืืช ืืงืฉืืื ืืชืฆืืจื, ืืืฉื ืืขืช ืืืืื ืชืขืืืจืช UDP.
ืืงืืจ: www.habr.com