LVS+keepalived配置

DR模式

LB上配置

step1:
查看內(nèi)核是否支持lvs
#lsmod |grep ip_vs
安裝lvs
#yum install ipvsadm
安裝依賴:
#yum -y install opensll-devel
安裝keepalived
#wget http://www.keepalived.org/software/keepalived-1.2.24.tar.gz
#tar -zxvf keepalived-1.2.24.tar.gz
#cd keepalived-1.2.24
#./configure --sysconf=/etc --with-kernel-dir=/lib/modules/2.6.32-279.el6.x86_64/
#make && make install
#ln -s /usr/local/sbin/keepalived /sbin/

step2: 配置keepalived
配置keepalived
#vim /etc/keepalived/keepalived.conf
#! Configuration File for keepalived

global_defs {
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc #告警郵件信息配置
   }
   notification_email_from Alexandre.Cassen@firewall.loc #指定當(dāng)keepalived出現(xiàn)問(wèn)題時(shí)古程,發(fā)送郵件給哪些用戶拨匆。
   smtp_server 192.168.200.1 #smtp server地址
   smtp_connect_timeout 30 # smtp連接超時(shí)時(shí)間
   router_id LVS_DEVEL  #負(fù)載均衡標(biāo)識(shí)脑溢,在局域網(wǎng)內(nèi)應(yīng)該是唯一的
   vrrp_skip_check_adv_addr
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance VI_1 {
    state BACKUP 
    interface eth0
    virtual_router_id 51
    priority 10
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
       127.0.0.1
    }
}

virtual_server 127.0.0.1 9- {
    delay_loop 6
    lb_algo rr
    lb_kind DR
    persistence_timeout 50
    protocol TCP

    real_server 127.0.0.1 80 {
        weight 1
        TCP_CHECK {
            connect_timeout 3
            delay_before_retry 3
            connect_port 80
      }
    }
    real_server 127.0.0.1 80 {
        weight 1
        TCP_CHECK {
            connect_timeout 3
            delay_before_retry 3
            connect_port 80
      }
    }
}

virtual_server 127.0.0.1 443 {
    delay_loop 6
    lb_algo rr
    lb_kind DR
    persistence_timeout 50
    protocol TCP

    real_server 127.0.0.1 443 {
        weight 1
        TCP_CHECK {
            connect_timeout 3
            delay_before_retry 3
            connect_port 443
      }
    }
    real_server 127.0.0.1 443 {
        weight 1
        TCP_CHECK {
            connect_timeout 3
            delay_before_retry 3
            connect_port 443
      }
    }
}
  • 參數(shù)詳解:
    ** 全局定義參數(shù) **
    notification_email:指定當(dāng)keepalived出現(xiàn)問(wèn)題時(shí),發(fā)送郵件給哪些用戶除呵。
    notification_emai_from:發(fā)送郵件時(shí)衡楞,郵件的來(lái)源地址薄疚。
    smtp_server <DOMAIN|IP> [<PORT>]:smtp服務(wù)器的地址或域名访诱。默認(rèn)端口為25.如:smtp_server smtp.felix.com 25
    smtp_helo_name <HOST_NAME>:指定在HELO消息中所使用的名稱。默認(rèn)為本地主機(jī)名锋拖。
    smtp_connect_timeout:指定smtp服務(wù)器連接的超時(shí)時(shí)間诈悍。單位是秒祸轮。

    router_id:指定標(biāo)識(shí)該機(jī)器的route_id. 如:route_id LVS_01
    vrrp_mcast_group4 224.0.0.18:指定發(fā)送VRRP組播消息使用的IPV4組播地址。默認(rèn)是224.0.0.18
    vrrp_mcast_group6 ff02::12 指定發(fā)送VRRP組播消息所使用的IPV6組播地址侥钳。默認(rèn)是ff02::12
    default_interface eth0:設(shè)置靜態(tài)地址默認(rèn)綁定的端口适袜。默認(rèn)是eth0。
    lvs_sync_daemon <INTERFACE> <VRRP_INSTANCE> [id <SYNC_ID>] [maxlen <LEN>] [port <PORT>] [ttl <TTL>] [group <IP ADDR>]
    設(shè)置LVS同步服務(wù)的相關(guān)內(nèi)容慕趴』居可以同步LVS的狀態(tài)信息鄙陡。
    INTERFACE:指定同步服務(wù)綁定的接口冕房。
    VRRP_INSTANCE:指定同步服務(wù)綁定的VRRP實(shí)例。
    id <SYNC_ID>:指定同步服務(wù)所使用的SYNCID趁矾,只有相同的SYNCID才會(huì)同步耙册。范圍是0-255.
    maxlen:指定數(shù)據(jù)包的最大長(zhǎng)度。范圍是1-65507
    port:指定同步所使用的UDP端口毫捣。
    group:指定組播IP地址详拙。

    lvs_flush:在keepalived啟動(dòng)時(shí),刷新所有已經(jīng)存在的LVS配置蔓同。
    vrrp_garp_master_delay 10:當(dāng)轉(zhuǎn)換為MASTER狀態(tài)時(shí)饶辙,延遲多少秒發(fā)送第二組的免費(fèi)ARP。默認(rèn)為5s斑粱,0表示不發(fā)送第二組免的免費(fèi)ARP弃揽。
    vrrp_garp_master_repeat 1:當(dāng)轉(zhuǎn)換為MASTER狀態(tài)時(shí),在一組中一次發(fā)送的免費(fèi)ARP數(shù)量则北。默認(rèn)是5.
    vrrp_garp_lower_prio_delay 10:當(dāng)MASTER收到更低優(yōu)先級(jí)的通告時(shí)矿微,延遲多少秒發(fā)送第二組的免費(fèi)ARP。
    vrrp_garp_lower_prio_repeat 1:當(dāng)MASTER收到更低優(yōu)先級(jí)的通告時(shí)尚揣,在一組中一次發(fā)送的免費(fèi)ARP數(shù)量涌矢。
    vrrp_garp_master_refresh 60:當(dāng)keepalived成為MASTER以后,刷新免費(fèi)ARP的最小時(shí)間間隔(會(huì)再次發(fā)送免費(fèi)ARP)快骗。默認(rèn)是0娜庇,表示不會(huì)刷新。
    vrrp_garp_master_refresh_repeat 2: 當(dāng)keepalived成為MASTER以后方篮,每次刷新會(huì)發(fā)送多少個(gè)免費(fèi)ARP名秀。默認(rèn)是1.
    vrrp_garp_interval 0.001:在一個(gè)接口發(fā)送的兩個(gè)免費(fèi)ARP之間的延遲」。可以精確到毫秒級(jí)泰偿。默認(rèn)是0.
    vrrp_lower_prio_no_advert true|false:默認(rèn)是false。如果收到低優(yōu)先級(jí)的通告蜈垮,不發(fā)送任何通告耗跛。
    vrrp_version 2|3:設(shè)置默認(rèn)的VRRP版本裕照。默認(rèn)是2.
    vrrp_check_unicast_src:在單播模式中,開啟對(duì)VRRP數(shù)據(jù)包的源地址做檢查调塌,源地址必須是單播鄰居之一晋南。
    vrrp_skip_check_adv_addr:默認(rèn)是不跳過(guò)檢查。檢查收到的VRRP通告中的所有地址可能會(huì)比較耗時(shí)羔砾,設(shè)置此命令的意思是负间,如果通告與接收的上一個(gè)通告來(lái)自相同的master路由器,則不執(zhí)行檢查(跳過(guò)檢查)姜凄。
    vrrp_strict:嚴(yán)格遵守VRRP協(xié)議政溃。下列情況將會(huì)阻止啟動(dòng)Keepalived:1. 沒(méi)有VIP地址。2. 單播鄰居态秧。3. 在VRRP版本2中有IPv6地址董虱。

    vrrp_iptables:不添加任何iptables規(guī)則。默認(rèn)是添加iptables規(guī)則的申鱼。
    ** vrrp_instance **
    state MASTER|BACKUP:指定該keepalived節(jié)點(diǎn)的初始狀態(tài)愤诱。
    interface eth0:vrrp實(shí)例綁定的接口,用于發(fā)送VRRP包捐友。
    use_vmac [<VMAC_INTERFACE>]:在指定的接口產(chǎn)生一個(gè)子接口淫半,如vrrp.51,該接口的MAC地址為組播地址匣砖,通過(guò)該接口向外發(fā)送和接收VRRP包科吭。
    vmac_xmit_base:通過(guò)基本接口向外發(fā)送和接收VRRP數(shù)據(jù)包,而不是通過(guò)VMAC接口脆粥。
    native_ipv6:強(qiáng)制VRRP實(shí)例使用IPV6.(當(dāng)同時(shí)配置了IPV4和IPV6的時(shí)候)
    dont_track_primary:忽略VRRP接口的錯(cuò)誤砌溺,默認(rèn)是沒(méi)有配置的。

track_interface {
eth0
eth1 weight <-254-254>
...
}:如果track的接口有任何一個(gè)出現(xiàn)故障变隔,都會(huì)進(jìn)入FAULT狀態(tài)规伐。

track_script {
<SCRIPT_NAME>
<SCRIPT_NAME> weight <-254-254>
}:添加一個(gè)track腳本(vrrp_script配置的腳本。)

mcast_src_ip <IPADDR>:指定發(fā)送組播數(shù)據(jù)包的源IP地址匣缘。默認(rèn)是綁定VRRP實(shí)例的接口的主IP地址猖闪。
unicast_src_ip <IPADDR>:指定發(fā)送單薄數(shù)據(jù)包的源IP地址。默認(rèn)是綁定VRRP實(shí)例的接口的主IP地址肌厨。
version 2|3:指定該實(shí)例所使用的VRRP版本培慌。

unicast_peer {
<IPADDR>
...
}:采用單播的方式發(fā)送VRRP通告,指定單播鄰居的IP地址柑爸。

virtual_router_id 51:指定VRRP實(shí)例ID吵护,范圍是0-255.
priority 100:指定優(yōu)先級(jí),優(yōu)先級(jí)高的將成為MASTER。
advert_int 1:指定發(fā)送VRRP通告的間隔馅而。單位是秒祥诽。
authentication {
auth_type PASS|AH:指定認(rèn)證方式。PASS簡(jiǎn)單密碼認(rèn)證(推薦),AH:IPSEC認(rèn)證(不推薦)瓮恭。
auth_pass 1234:指定認(rèn)證所使用的密碼雄坪。最多8位。
}

virtual_ipaddress {
<IPADDR>/<MASK> brd <IPADDR> dev <STRING> scope <SCOPE> label <LABEL>
192.168.200.17/24 dev eth1
192.168.200.18/24 dev eth2 label eth2:1
}:指定VIP地址屯蹦。

nopreempt:設(shè)置為不搶占维哈。默認(rèn)是搶占的,當(dāng)高優(yōu)先級(jí)的機(jī)器恢復(fù)后登澜,會(huì)搶占低優(yōu)先級(jí)的機(jī)器成為MASTER阔挠,而不搶占,則允許低優(yōu)先級(jí)的機(jī)器繼續(xù)成為MASTER帖渠,即使高優(yōu)先級(jí)的機(jī)器已經(jīng)上線谒亦。如果要使用這個(gè)功能,則初始化狀態(tài)必須為BACKUP空郊。
preempt_delay:設(shè)置搶占延遲。單位是秒切揭,范圍是0---1000狞甚,默認(rèn)是0.發(fā)現(xiàn)低優(yōu)先級(jí)的MASTER后多少秒開始搶占。

通知腳本:
notify_master <STRING>|<QUOTED-STRING> [username [groupname]]
notify_backup <STRING>|<QUOTED-STRING> [username [groupname]]
notify_fault <STRING>|<QUOTED-STRING> [username [groupname]]
notify <STRING>|<QUOTED-STRING> [username [groupname]]

當(dāng)停止VRRP時(shí)執(zhí)行的腳本廓旬。

notify_stop <STRING>|<QUOTED-STRING> [username [groupname]]
smtp_alert
** virtual_server **
virtual_server IP Port | virtual_server fwmark int | virtual_server group string {
delay_loop <INT>:健康檢查的時(shí)間間隔哼审。
lb_argo rr|wrr|lc|wlc|lblc|sh|dh:LVS調(diào)度算法。
lb_kind NAT|DR|TUN:LVS模式孕豹。
persistence_timeout 360:持久化超時(shí)時(shí)間涩盾,單位是秒。默認(rèn)是6分鐘励背。
persistence_granularity:持久化連接的顆粒度春霍。
protocol TCP|UDP|SCTP:4層協(xié)議。
ha_suspend:如果virtual server的IP地址沒(méi)有設(shè)置叶眉,則不進(jìn)行后端服務(wù)器的健康檢查址儒。
virtualhost <STRING>:為HTTP_GET和SSL_GET執(zhí)行要檢查的虛擬主機(jī)。如virtualhost www.felix.com
sorry_server <IPADDR> <PORT>:添加一個(gè)備用服務(wù)器衅疙。當(dāng)所有的RS都故障時(shí)莲趣。
sorry_server_inhibit:將inhibit_on_failure指令應(yīng)用于sorry_server指令。

alpha:在keepalived啟動(dòng)時(shí)饱溢,假設(shè)所有的RS都是down喧伞,以及健康檢查是失敗的。有助于防止啟動(dòng)時(shí)的誤報(bào)。默認(rèn)是禁用的潘鲫。
omega:在keepalived終止時(shí)绿聘,會(huì)執(zhí)行quorum_down指令所定義的腳本。

quorum <INT>:默認(rèn)值1. 所有的存活的服務(wù)器的總的最小權(quán)重次舌。
quorum_up <STRING>:當(dāng)quorum增長(zhǎng)到滿足quorum所定義的值時(shí)熄攘,執(zhí)行該腳本。
quorum_down <STRING>:當(dāng)quorum減少到不滿足quorum所定義的值時(shí)彼念,執(zhí)行該腳本挪圾。
}
real_server
real_server IP Port {
weight <INT>:給服務(wù)器指定權(quán)重。默認(rèn)是1.
inhibit_on_failure:當(dāng)服務(wù)器健康檢查失敗時(shí)逐沙,將其weight設(shè)置為0哲思,而不是從Virtual Server中移除。
notify_up <STRING>:當(dāng)服務(wù)器健康檢查成功時(shí)吩案,執(zhí)行的腳本棚赔。
notify_down <STRING>:當(dāng)服務(wù)器健康檢查失敗時(shí),執(zhí)行的腳本徘郭。
uthreshold <INT>:到這臺(tái)服務(wù)器的最大連接數(shù)靠益。
lthreshold <INT>:到這臺(tái)服務(wù)器的最小連接數(shù)。
}
real_server中的健康檢查
HTTP_GET | SSL_GET {
url {
path <STRING>:指定要檢查的URL的路徑残揉。如path / or path /mrtg2
digest <STRING>:摘要胧后。計(jì)算方式:genhash -s 172.17.100.1 -p 80 -u /index.html
status_code <INT>:狀態(tài)碼。
}
nb_get_retry <INT>:get嘗試次數(shù)抱环。
delay_before_retry <INT>:在嘗試之前延遲多長(zhǎng)時(shí)間壳快。

connect_ip <IP ADDRESS>:連接的IP地址。默認(rèn)是real server的ip地址镇草。
connect_port <PORT>:連接的端口眶痰。默認(rèn)是real server的端口。
bindto <IP ADDRESS>:發(fā)起連接的接口的地址梯啤。
bind_port <PORT>:發(fā)起連接的源端口竖伯。
connect_timeout <INT>:連接超時(shí)時(shí)間。默認(rèn)是5s条辟。
fwmark <INTEGER>:使用fwmark對(duì)所有出去的檢查數(shù)據(jù)包進(jìn)行標(biāo)記黔夭。
warmup <INT>:指定一個(gè)隨機(jī)延遲,最大為N秒羽嫡”纠眩可防止網(wǎng)絡(luò)阻塞。如果為0杭棵,則關(guān)閉該功能婚惫。
}

TCP_CHECK {
connect_ip <IP ADDRESS>:連接的IP地址氛赐。默認(rèn)是real server的ip地址。
connect_port <PORT>:連接的端口先舷。默認(rèn)是real server的端口艰管。
bindto <IP ADDRESS>:發(fā)起連接的接口的地址。
bind_port <PORT>:發(fā)起連接的源端口蒋川。
connect_timeout <INT>:連接超時(shí)時(shí)間牲芋。默認(rèn)是5s。
fwmark <INTEGER>:使用fwmark對(duì)所有出去的檢查數(shù)據(jù)包進(jìn)行標(biāo)記捺球。
warmup <INT>:指定一個(gè)隨機(jī)延遲缸浦,最大為N秒〉可防止網(wǎng)絡(luò)阻塞裂逐。如果為0,則關(guān)閉該功能泣栈。
retry <INIT>:重試次數(shù)卜高。默認(rèn)是1次。
delay_before_retry <INT>:默認(rèn)是1秒南片。在重試之前延遲多少秒掺涛。
}

SMTP_CHECK {
connect_ip <IP ADDRESS>:連接的IP地址。默認(rèn)是real server的ip地址铃绒。
connect_port <PORT>:連接的端口鸽照。默認(rèn)是real server的端口。 默認(rèn)是25端口
bindto <IP ADDRESS>:發(fā)起連接的接口的地址颠悬。
bind_port <PORT>:發(fā)起連接的源端口。
connect_timeout <INT>:連接超時(shí)時(shí)間定血。默認(rèn)是5s赔癌。
fwmark <INTEGER>:使用fwmark對(duì)所有出去的檢查數(shù)據(jù)包進(jìn)行標(biāo)記。
warmup <INT>:指定一個(gè)隨機(jī)延遲澜沟,最大為N秒灾票。可防止網(wǎng)絡(luò)阻塞茫虽。如果為0刊苍,則關(guān)閉該功能。

retry <INT>:重試次數(shù)濒析。
delay_before_retry <INT>:在重試之前延遲多少秒正什。
helo_name <STRING>:用于SMTP HELO請(qǐng)求的字符串。
}

DNS_CHECK {
connect_ip <IP ADDRESS>:連接的IP地址号杏。默認(rèn)是real server的ip地址婴氮。
connect_port <PORT>:連接的端口。默認(rèn)是real server的端口。 默認(rèn)是25端口
bindto <IP ADDRESS>:發(fā)起連接的接口的地址主经。
bind_port <PORT>:發(fā)起連接的源端口荣暮。
connect_timeout <INT>:連接超時(shí)時(shí)間。默認(rèn)是5s罩驻。
fwmark <INTEGER>:使用fwmark對(duì)所有出去的檢查數(shù)據(jù)包進(jìn)行標(biāo)記穗酥。
warmup <INT>:指定一個(gè)隨機(jī)延遲,最大為N秒惠遏±荆可防止網(wǎng)絡(luò)阻塞。如果為0爽哎,則關(guān)閉該功能蜓席。

retry <INT>:重試次數(shù)。默認(rèn)是3次课锌。
type <STRING>:DNS query type厨内。A/NS/CNAME/SOA/MX/TXT/AAAA
name <STRING>:DNS查詢的域名。默認(rèn)是(.)
}

MISC_CHECK {
misc_path <STRING>:外部的腳本或程序路徑渺贤。
misc_timeout <INT>:腳本執(zhí)行超時(shí)時(shí)間雏胃。
user USERNAME [GROUPNAME]:指定運(yùn)行該腳本的用戶和組。如果沒(méi)有指定GROUPNAME志鞍,則GROUPNAME同USERNAME瞭亮。
misc_dynamic:根據(jù)退出狀態(tài)碼動(dòng)態(tài)調(diào)整權(quán)重。
0固棚,健康檢查成功统翩,權(quán)重不變。
1此洲,健康檢查失敗厂汗。
2-255,健康檢查成功呜师。權(quán)重設(shè)置為退出狀態(tài)碼減去2.如退出狀態(tài)碼是250娶桦,則權(quán)重調(diào)整為248
warmup <INT>:指定一個(gè)隨機(jī)延遲,最大為N秒汁汗≈云瑁可防止網(wǎng)絡(luò)阻塞。如果為0知牌,則關(guān)閉該功能祈争。
}

RS 配置

#!/bin/bash
SNS_VIP=172.19.112.101
. /etc/rc.d/init.d/functions
case "$1" in
start)
ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP
/sbin/route add -host $SNS_VIP dev lo:0
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
sysctl -p >/dev/null 2>&1
echo "RealServer Start OK"
;;

stop)
ifconfig lo:0 down
route del $SNS_VIP >/dev/null 2>&1
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
echo "RealServer Stoped"
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
exit 0
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市送爸,隨后出現(xiàn)的幾起案子铛嘱,更是在濱河造成了極大的恐慌暖释,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,383評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件墨吓,死亡現(xiàn)場(chǎng)離奇詭異球匕,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)帖烘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門亮曹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人秘症,你說(shuō)我怎么就攤上這事照卦。” “怎么了乡摹?”我有些...
    開封第一講書人閱讀 157,852評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵役耕,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我聪廉,道長(zhǎng)瞬痘,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,621評(píng)論 1 284
  • 正文 為了忘掉前任板熊,我火速辦了婚禮框全,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘干签。我一直安慰自己津辩,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,741評(píng)論 6 386
  • 文/花漫 我一把揭開白布容劳。 她就那樣靜靜地躺著喘沿,像睡著了一般。 火紅的嫁衣襯著肌膚如雪竭贩。 梳的紋絲不亂的頭發(fā)上摹恨,一...
    開封第一講書人閱讀 49,929評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音娶视,去河邊找鬼。 笑死睁宰,一個(gè)胖子當(dāng)著我的面吹牛肪获,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播柒傻,決...
    沈念sama閱讀 39,076評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼孝赫,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了红符?” 一聲冷哼從身側(cè)響起青柄,我...
    開封第一講書人閱讀 37,803評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤伐债,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后致开,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體峰锁,經(jīng)...
    沈念sama閱讀 44,265評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,582評(píng)論 2 327
  • 正文 我和宋清朗相戀三年双戳,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了虹蒋。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,716評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡飒货,死狀恐怖魄衅,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情塘辅,我是刑警寧澤晃虫,帶...
    沈念sama閱讀 34,395評(píng)論 4 333
  • 正文 年R本政府宣布,位于F島的核電站扣墩,受9級(jí)特大地震影響哲银,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜沮榜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,039評(píng)論 3 316
  • 文/蒙蒙 一盘榨、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蟆融,春花似錦草巡、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至弥喉,卻和暖如春郁竟,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背由境。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工棚亩, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人虏杰。 一個(gè)月前我還...
    沈念sama閱讀 46,488評(píng)論 2 361
  • 正文 我出身青樓讥蟆,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親纺阔。 傳聞我的和親對(duì)象是個(gè)殘疾皇子瘸彤,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,612評(píng)論 2 350