Ubuntu下配置TDEngine數(shù)據(jù)庫(kù)并使用fwknop進(jìn)行端口保護(hù)

1 Ubuntu下安裝配置TDEngine

1.1 服務(wù)器主機(jī)安裝TDEngine

Ubuntu下配置很簡(jiǎn)單蟀拷,詳見官方文檔[1]

[SPAserver] $ sudo apt-get update
[SPAserver] $ apt-cache policy tdengine
[SPAserver] $ sudo apt-get install tdengine
# 啟動(dòng)TDEngine
[SPAserver] $ systemctl start taosd
# 查看TDEngine狀態(tài)
[SPAserver] $ systemctl status taosd

1.2 TDEngine服務(wù)器主機(jī)配置FQDN

FQDN(Fully Qualified Domain Name)即域名胶坠,F(xiàn)QDN = Hostname + DomainName
1、配置hostname

# 查看當(dāng)前hostname
[SPAserver] $ hostname -f
ubuntu
# 修改hostname
[SPAserver] $ sudo nvim /etc/hostname
# 將文件內(nèi)的ubuntu改為自己想要的hostname后保存退出,我修改為tdmain

2疾党、配置FQDN

# 查看本機(jī)ip
[SPAserver] $ ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.16.93.132  netmask 255.255.255.0  broadcast 172.16.93.255
        inet6 fe80::9e9b:fb70:779f:1fe7  prefixlen 64  scopeid 0x20<link>
        ......

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        ......
[SPAserver] $ sudo nvim /etc/hosts
# 一下為hosts文件信息间狂,在最后一行加入  172.16.93.132  tdmain.server.com tdmain
# 即  ip  fqdn  hostname
127.0.0.1       localhost
127.0.1.1       ubuntu
......
172.16.93.132  tdmain.server.com tdmain
# 更新hostname使域名生效
[SPAserver] $ sudo hostname -F /etc/hostname
# 重新查看hostname
[SPAserver] $ sudo hostname -f
tdmain.server.com
[SPAserver] $ sudo hostname
tdmain

此配置并未部署TDEngine集群坦康,為單個(gè)主機(jī)竣付,如果配置集群需要將其他TDEngine節(jié)點(diǎn)主機(jī)的FQDN也加入hosts文件中(如果已經(jīng)申請(qǐng)了公網(wǎng)的域名則不需要)。

3滞欠、配置服務(wù)器TDEngine配置文件

[SPAserver] $ sudo nvim /etc/taos/taos.cfg
# first fully qualified domain name (FQDN) for TDengine system
firstEp                   tdmain.server.com:6030

# local fully qualified domain name (FQDN)
fqdn                      tdmain.server.com

# first port number for the connection (12 continuous UDP/TCP port number are used) 
serverPort                6030

# log file's directory
logDir                    /var/log/taos

# data file's directory
dataDir                   /var/lib/taos

# temporary file's directory
tempDir                   /tmp/

隨后重啟服務(wù)古胆。

1.3 客戶端安裝配置TDEngine連接客戶端

詳見官方的建立連接,下載對(duì)應(yīng)的客戶端連接包筛璧,我的版本是2.4.0.20逸绎。解壓后進(jìn)入目錄,運(yùn)行腳本并配置

[SPAclient] $ ./install_client.sh
# 修改客戶端hosts文件將服務(wù)器的ip添加
[SPAclient] $ sudo nvim /etc/hosts
# 最后一行添加域名解析 ip  server_domain
127.0.0.1       localhost
127.0.1.1       ubuntu
......
172.16.93.132  tdmain.server.com
[SPAclient] $ sudo nvim /etc/taos/taos.cfg
# 僅需修改firstEp項(xiàng)
firstEp          tdmain.server.com:6030
[SPAclient] $ taos
# 發(fā)現(xiàn)成功連接上服務(wù)器數(shù)據(jù)庫(kù)
taos>

踩坑點(diǎn)

1夭谤、在服務(wù)器修改hostname之后重啟TDEngine發(fā)現(xiàn)啟動(dòng)失敗

[SPAserver] $ sudo systemctl start taosd
[SPAserver] $ sudo systemctl status taosd
● taosd.service - TDengine server service
     Loaded: loaded (/etc/systemd/system/taosd.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Wed 2022-05-18 01:44:49 PDT; 4s ago
    Process: 2338 ExecStartPre=/usr/local/taos/bin/startPre.sh (code=exited, status=0/SUCCESS)
    Process: 2344 ExecStart=/usr/bin/taosd (code=exited, status=1/FAILURE)
   Main PID: 2344 (code=exited, status=1/FAILURE)

May 18 01:44:49 tdmain systemd[1]: taosd.service: Scheduled restart job, restart counter is at 3.
May 18 01:44:49 tdmain systemd[1]: Stopped TDengine server service.
May 18 01:44:49 tdmain systemd[1]: taosd.service: Start request repeated too quickly.
May 18 01:44:49 tdmain systemd[1]: taosd.service: Failed with result 'exit-code'.
May 18 01:44:49 tdmain systemd[1]: Failed to start TDengine server service.

官方文檔的集群部署中提示:

因?yàn)?FQDN 的信息會(huì)寫進(jìn)文件棺牧,如果之前沒有配置或者更改 FQDN,且啟動(dòng)了 TDengine朗儒。請(qǐng)一定在確保數(shù)據(jù)無用或者備份的前提下颊乘,清理一下之前的數(shù)據(jù)(rm -rf /var/lib/taos/*);

[SPAserver] $ sudo rm -rf /var/lib/taos/*
[SPAserver] $ sudo systemctl start taosd

2 配置服務(wù)器fwknop保護(hù)數(shù)據(jù)庫(kù)端口

fwknop的服務(wù)器端與客戶端安裝配置及測(cè)試詳見我的上一篇博客http://www.reibang.com/p/190daacf9e6b

2.1 服務(wù)器配置iptables規(guī)則

客戶端進(jìn)行數(shù)據(jù)庫(kù)連接醉锄,使用wireshark進(jìn)行抓包乏悄,結(jié)果如下:


TDEngine連接抓包結(jié)果圖

發(fā)現(xiàn)其建立連接使用UDP協(xié)議,連接服務(wù)器的6030端口榆鼠,因此服務(wù)器端配置如下規(guī)則:

[SPAserver] $ sudo iptables -I INPUT 1 -i ens33 -p udp --dport 6030 -j DROP
[SPAserver] $ sudo iptables -I INPUT 1 -i ens33 -p udp --dport 6030 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

此時(shí)客戶端發(fā)起連接發(fā)現(xiàn)連接失敻侔帧:


配置iptables后客戶端連接情況圖

2.2 客戶端生成秘鑰實(shí)現(xiàn)敲門

# 其中客戶端ip為172.16.93.131亥鸠,服務(wù)器端ip為172.16.93.132
[SPAclient] $ fwknop -A udp/6030 -a 172.16.93.131 -D 172.16.93.132 -p 62201 -P udp --key-gen --use-hmac --save-rc-stanza
# 生成文件~/.fwknoprc妆够,并根據(jù)此文件配置服務(wù)器的fwknop規(guī)則
[SPAserver] $ sudo vim /etc/fwknop/access.conf
# 替換其中的 KEY_BASE64 和 HMAC_KEY_BASE64

# 服務(wù)器端啟動(dòng)fwknopd
[SPAserver] $ sudo fwknopd start
# 客戶端發(fā)送敲門數(shù)據(jù)包
[SPAclient] $ fwknop -n 172.16.93.132
# 發(fā)送敲門數(shù)據(jù)包后再連接服務(wù)器的TDEngine數(shù)據(jù)庫(kù)
[SPAclient] $ taos

敲門后連接結(jié)果如下圖:


客戶端實(shí)現(xiàn)敲門后連接數(shù)據(jù)庫(kù)

3 遷移至公網(wǎng)服務(wù)器(服務(wù)器ip用server_ip代替)

1、服務(wù)器的TDEngine和fwknop配置同第一節(jié)和上一篇博客负蚊。
2神妹、現(xiàn)在大多的云服務(wù)器都配有安全組策略,因此需要開放安全組6030-6042端口的tcp和udp協(xié)議(TDEngine端口)家妆,并且開放安全組62201端口的udp協(xié)議(fwknop監(jiān)聽端口鸵荠,如果修改過fwknop配置則根據(jù)自己情況更改)。
3伤极、客戶端配置服務(wù)器FQDN蛹找,我這里配置的域名是HWCtd.server.com,因此在/etc/hosts文件中添加server_ip HWCtd.server.com哨坪,其中server_ip用自己的服務(wù)器公網(wǎng)ip代替庸疾,在/etc/taos/taos.cfg中修改firstEp HWCtd.server.com:6030
4当编、客戶端生成敲門配置文件届慈,并配置服務(wù)器fwknopd:

[SPAclient] $ fwknop -A udp/6030 -R -D server_ip -p 62201 -P udp --key-gen --use-hmac --save-rc-stanza
# 生成文件~/.fwknoprc,次命令中沒有規(guī)定客戶端的ip,但使用了-R參數(shù)金顿,其作用
# 是讓fwknop客戶端通過公網(wǎng)服務(wù)器讀取客戶端所屬公網(wǎng)IP臊泌,因此使用此配置文件
# 進(jìn)行敲門時(shí),服務(wù)器會(huì)自動(dòng)將客戶端的公網(wǎng)ip設(shè)為準(zhǔn)入ip揍拆,而無需客戶端自己設(shè)置
# SPA包中的準(zhǔn)入ip渠概,其中的server_ip為服務(wù)器公網(wǎng)ip或者服務(wù)器域名
[SPAserver] $ sudo vim /etc/fwknop/access.conf
# 根據(jù)客戶端的配置文件,替換access.conf中的 KEY_BASE64 和 HMAC_KEY_BASE64

5嫂拴、根據(jù)第二節(jié)中配置服務(wù)器的iptables高氮,并且啟動(dòng)fwknopd進(jìn)程,即可實(shí)現(xiàn)端口保護(hù)和通過敲門安全訪問TDEngine數(shù)據(jù)庫(kù)顷牌。

踩坑點(diǎn)

1剪芍、我租的華為云服務(wù)器默認(rèn)的是arm64架構(gòu)的處理器,因此安裝TDEngine需要使用源碼編譯窟蓝。下載地址中查找aarch64罪裹,尋找自己需要的版本下載,我下載的是TDengine-server-2.4.0.20-Linux-aarch64.tar.gz运挫。

參考文獻(xiàn)

[1] https://docs.taosdata.com/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末状共,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子谁帕,更是在濱河造成了極大的恐慌峡继,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,039評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件匈挖,死亡現(xiàn)場(chǎng)離奇詭異碾牌,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)儡循,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門舶吗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人择膝,你說我怎么就攤上這事誓琼。” “怎么了肴捉?”我有些...
    開封第一講書人閱讀 165,417評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵腹侣,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我齿穗,道長(zhǎng)傲隶,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,868評(píng)論 1 295
  • 正文 為了忘掉前任缤灵,我火速辦了婚禮伦籍,結(jié)果婚禮上蓝晒,老公的妹妹穿的比我還像新娘。我一直安慰自己帖鸦,他們只是感情好芝薇,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著作儿,像睡著了一般洛二。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上攻锰,一...
    開封第一講書人閱讀 51,692評(píng)論 1 305
  • 那天晾嘶,我揣著相機(jī)與錄音,去河邊找鬼娶吞。 笑死垒迂,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的妒蛇。 我是一名探鬼主播机断,決...
    沈念sama閱讀 40,416評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼绣夺!你這毒婦竟也來了吏奸?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,326評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤陶耍,失蹤者是張志新(化名)和其女友劉穎奋蔚,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體烈钞,經(jīng)...
    沈念sama閱讀 45,782評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡泊碑,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評(píng)論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了棵磷。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蛾狗。...
    茶點(diǎn)故事閱讀 40,102評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖仪媒,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情谢鹊,我是刑警寧澤算吩,帶...
    沈念sama閱讀 35,790評(píng)論 5 346
  • 正文 年R本政府宣布九火,位于F島的核電站论寨,受9級(jí)特大地震影響正卧,放射性物質(zhì)發(fā)生泄漏胚迫。R本人自食惡果不足惜贷笛,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評(píng)論 3 331
  • 文/蒙蒙 一财剖、第九天 我趴在偏房一處隱蔽的房頂上張望送滞。 院中可真熱鬧钧大,春花似錦、人聲如沸窍霞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)但金。三九已至韭山,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間冷溃,已是汗流浹背钱磅。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留似枕,地道東北人盖淡。 一個(gè)月前我還...
    沈念sama閱讀 48,332評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像凿歼,于是被迫代替她去往敵國(guó)和親禁舷。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容