第十六周作业

1、使用rsync+inotify实现/www目录实时同步

配置服务器端

安装inotify工具 
[root@centos7 ~]# yum install -y rsync inotify-tools 

配置/etc/rsyncd.conf文件
[root@centos7 ~]# cat /etc/rsyncd.conf
uid = root
gid = root
use chroot = no
max connections = 0
ignore errors
exclude = lost+found/
log file = /var/log/rsyncd.log pid file = /var/run/rsyncd.pid lock file = /var/run/rsyncd.lock reverse lookup = no
hosts allow = 10.0.0.0/24
[www]
path = /www
comment = www
read only = no
auth users = rsyncuser
secrets file = /etc/rsync.pass

创建rsync账号密码文件
[root@centos7 ~]# echo "rsyncuser:centos" > /etc/rsync.pass
[root@centos7 ~]# chmod 660 /etc/rsync.pass
创建同步目录并启动服务
[root@centos7 ~]# mkdir /www
[root@centos7 ~]# systemctl start rsyncd
配置客户端
[root@client ~]# yum install -y rsync inotify-tools

创建inotify连接密码文件
[root@client ~]# echo "centos" > /etc/rsync.pass
[root@client ~]# chmod 600 /etc/rsync.pass

用命令连接测试是否同步
[root@client test]# rsync -avz --password-file=/etc/rsync.pass  rsyncuser@10.0.0.27::www /test
receiving incremental file list
f1.txt

sent 43 bytes  received 447 bytes  980.00 bytes/sec
total size is 595  speedup is 1.21
[root@client test]# ll
total 4
-rw-r--r-- 1 root root 595 Oct 16 11:22 f1.txt
-rw-r--r-- 1 root root   0 Oct 16 11:24 f2.txt
客户端创建inotify_rsync.sh脚本 
[root@client ~]# cat inotify_rsync.sh 
SRC='/test/' DEST='rsyncuser@10.211.11.10::www'
inotifywait -mrq --timefmt '%Y-%m-%d %H:%M' --format '%T %w %f' -e create,delete,moved_to,close_write,attrib ${SRC} |while read DATE TIME DIR FILE;do
FILEPATH=${DIR}${FILE}
rsync -az --delete --password-file=/etc/rsync.pass $SRC $DEST && echo "At ${TIME} on ${DATE}, file $FILEPATH was backuped up via rsync" >> /var/log/changelist.log
done

执行脚本
[root@client ~]# nohup bash inotify_rsync.sh &

2、使用iptable实现: 放行telnet, ftp, web服务,放行samba服务,其他端口服务全部拒绝

iptables -I  INPUT  -p tcp  -m multiport --dports  21,23,80,139,445 -j ACCEPT
iptables -A INPUT -j REJECT

[root@centos7 ~]# iptables -vnL --line-numbers
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1      159 12385 ACCEPT     tcp  --  *      *       10.0.0.1             0.0.0.0/0            tcp dpt:22
2        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            multiport dports 21,23,80,139,445
3      106 11088 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable

3、NAT原理总结

NAT: network address translation,支持PREROUTING,INPUT,OUTPUT,POSTROUTING四个链

NAT作用:修改请求报文/响应报文的源/目标IP

NAT类型:

  • SNAT:source NAT ,支持POSTROUTING, INPUT,让本地网络中的主机通过某一特定地址访问外部网络,实现地址伪装。方法,修改请求报文源IP,将源IP修改成能上外网的IP,实现本地主机访问外部网络。例如路由器
  • DNAT:destination NAT 支持PREROUTING , OUTPUT,把本地网络中的主机上的某服务开放给外部网络访问(发布服务和端口映射),但隐藏真实IP。方法,修改请求报文:修改目标IP,将目标IP修改成内网服务器IP。
  • PNAT: port nat,端口和IP都进行修改

4、iptables实现SNAT和DNAT,并对规则持久保存。

实现SNAT和DNAT都需要开启内核数据转发功能

[root@firewall ~]#cat /etc/sysctl.conf   
net.ipv4.ip_forward=1

SNAT使用方法
SNAT:基于nat表的target,适用于固定的公网IP
SNAT选项:
--to-source [ipaddr[-ipaddr]][:port[-port]]
--random
SNAT格式:
iptables -t nat -A POSTROUTING -s LocalNET ! -d LocalNet -j SNAT --to-source ExtIP
范例:

iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -j SNAT --to-source 192.168.126.83

DNAT使用方法
DNAT:nat表的target,适用于端口映射,即可重定向到本机,也可以支持重定向至不同主机的不同端口,但不支持多目标,即不支持负载均衡功能
DNAT选项:
--to-destination [ipaddr[-ipaddr]][:port[-port]]
DNAT 格式:
iptables -t nat -A PREROUTING -d ExtIP -p tcp|udp --dport PORT -j DNAT --todestination InterSeverIP[:PORT]
范例:

iptables -t nat -A PREROUTING -d 192.168.126.83 -p tcp --dport 80 -j DNAT --to-destination 10.0.0.84:80

iptables规则持久保存:
CentOS 7,8
iptables-save > /PATH/TO/SOME_RULES_FILE

CentOS 6

将规则覆盖保存至/etc/sysconfig/iptables文件中

service iptables save

5、LVS调度算法总结

静态算法:经根据算法本身进行调度,不关注真是服务器负载状态

  • RR:roundrobin(轮询):将请求依次分配到每个真是服务器。
  • WRR:Weighted RR(带权重轮询):根据每个真实服务器到权重占总权重到比例来分配请求。
  • SH:Source Hashing(源地址哈希调度),实现session sticky,源IP地址hash;将来自于同一个IP地址的请求始终发往第一次挑中的RS,从而实现会话绑定。
  • DH:Destination Hashing;(目标地址哈希调度),第一次轮询调度至RS,后续将发往同一个目标地址的请求始终转发至第一次挑中的RS,典型使用场景是正向代理缓存场景中的负载均衡,如:宽带运营商

动态算法:主要根据每真实服务器当前的负载状态及调度算法进行调度,负载值(Overhead)较小的真是服务器将被调度。

  • LC:least connections (最小链接调度)适用于长连接应用,始终往链接数最少的真实服务器上调度
    Overhead=activeconns256+inactiveconns
    负载=活动链接数
    256+非活动链接
  • WLC:Weighted LC(带权重最小链接调度)默认调度方法,
    Overhead=(activeconns256+inactiveconns)/weight
    负载=(活动链接数
    256+非活动链接)/权重
  • SED(初始链接权重优先)
    Overhead=(activeconns+1)256/weight
    负载=(活动链接+1)
    256/权重
  • NQ:Never Queue,第一轮均匀分配,后续SED
  • LBLCR:LBLC with Replication,带复制功能的LBLC,解决LBLC负载不均衡问题,从负载重的复制到负载轻的RS

内核版本 4.15 版本后新增调度算法:

  • FO(加权故障转移)调度算法,在此FO算法中,遍历虚拟服务所关联的真实服务器链表,找到还未过载(未设置IP_VS_DEST_F_OVERLOAD标志位)的且权重最高的真实服务器,进行调度。FO因为有标记位,可以逐步升级服务器
  • OVF(连接溢出)调度算法,基于真实服务器的活动连接数量和权重值实现。将新连接调度到权重值最高的真实服务器,直到其活动连接数量超过权重值,之后调度到下一个权重值最高的真实服务器,在此OVF算法中,遍历虚拟服务相关联的真实服务器链表,找到权重值最高的可用真实服务器
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,372评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,368评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,415评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,157评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,171评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,125评论 1 297
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,028评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,887评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,310评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,533评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,690评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,411评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,004评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,659评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,812评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,693评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,577评论 2 353

推荐阅读更多精彩内容