分类目录归档:Uncategorized

CF的api使用

建立 DNS Record

example:

[email protected]:~ 
#執行
 curl -X POST "https://api.cloudflare.com/client/v4/zones/8ee1be75cxxxx(我的zone_id)/dns_records" \
 -H "X-Auth-Email: xxxx(我的帳號的郵箱)" \
 -H "X-Auth-Key: 8405868bdxxxx(我的api_key)" \
 -H "Content-Type: application/json" \
 --data '{"type":"A","name":"test.nanqinlang.com(指定要建立記錄的域名)","content":"127.0.0.1(指定A記錄指向的ip)","ttl":120(指定ttl),"proxied":false}'
#返回結果
{"result":{"id":"3abbbaba2xxxx(這條建立的dns記錄的id)","type":"A","name":"test.nanqinlang.com(建立記錄的域名)","content":"127.0.0.1(A記錄指向的ip)","proxiable":false,"proxied":false,"ttl":120,"locked":false,"zone_id":"8ee1be75cxxxx(我的zone_id)","zone_name":"nanqinlang.com","modified_on":"2017-09-27T16:38:18.430924Z","created_on":"2017-09-27T16:38:18.430924Z","meta":{"auto_added":false}},"success":true(命令執行成功),"errors":[],"messages":[]}

執行成功後,建立的記錄如圖

使用CloudFlare實現DDNS(動態域名解析)
使用CloudFlare實現DDNS(動態域名解析)

檢視 DNS Record 列表

執行下面這個命令後,shell 視窗中會列出你的帳號上的所有 dns 記錄(不僅僅是A記錄)

在 cloudflare ,每一條解析記錄都有對應的一個固定的 id

為了能夠通過 API 修改解析記錄,我們需要通過此步驟來獲取這個 id

example:

[email protected]:~ 
#執行
 curl -X GET "https://api.cloudflare.com/client/v4/zones/8ee1be75cxxxx(我的zone_id)/dns_records" \
 -H "X-Auth-Email: xxxx(我的帳號的郵箱)" \
 -H "X-Auth-Key: 8405868bdxxxx(我的api_key)" \
 -H "Content-Type: application/json"
#返回結果
{"result":[{"id":"3625aca17xxxx(這條被檢視的dns記錄的id)","type":"A","name":"nanqinlang.com(域名)","content":"xx.xx.xx.xx(A記錄指向的ip)","proxiable":true,"proxied":true(啟用cloudflare反代與否的狀態值),"ttl":1(1 表示 auto ttl),"locked":false,"zone_id":"8ee1be75cxxxx(我的zone_id)","zone_name":"nanqinlang.com(根域名)","modified_on":"2017-09-26T15:24:00.567936Z","created_on":"2017-09-26T15:24:00.567936Z","meta":{"auto_added":false}}}

其中的 "id":"3625aca17xxxx" 就是你需要的 dns 記錄的 id

更新 DNS Record

當建立好解析記錄,並獲取了這條記錄的 id 之後,

為了實現動態解析,每當你的公網 ip 發生變化,就需要更新 dns 記錄,將A記錄指向你的新 ip

example:

[email protected]:~ 
#執行
 curl -X PUT "https://api.cloudflare.com/client/v4/zones/8ee1be75cxxxx(我的zone_id)/dns_records/3abbbaba2xxxx(這條dns記錄的id)" \
 -H "X-Auth-Email: xxxx(我的帳號的郵箱)" \
 -H "X-Auth-Key: 8405868bdxxxx(我的api_key)" \
 -H "Content-Type: application/json" \
 --data '{"type":"A","name":"test.nanqinlang.com(指定要更新記錄的域名)","content":"110.119.120.233(指定A記錄指向的ip)","ttl":180(指定ttl),"proxied":false}'
#返回結果
{"result":{"id":"3abbbaba2xxxx(這條要更新的dns記錄的id)","type":"A","name":"test.nanqinlang.com(更新了記錄的域名)","content":"110.119.120.233(更新後的指向ip)","proxiable":true,"proxied":false,"ttl":180(更新後的ttl),"locked":false,"zone_id":"8ee1be75cccxxxx(我的zone_id)","zone_name":"nanqinlang.com","modified_on":"2017-09-27T16:58:23.547640Z","created_on":"2017-09-27T16:58:23.547640Z","meta":{"auto_added":false}},"success":true(命令執行成功),"errors":[],"messages":[]}

將此命令進行定時任務後,就實現了 DDNS 域名動態解析 了。

树莓派设置静态ip

vi /etc/dhcpcd.conf
# 使用 vi 编辑文件,增加下列配置项

 

interface eth0
# 指定静态IP,/24表示子网掩码为 255.255.255.0
static ip_address=192.168.1.20/24
# 路由器/网关IP地址
static routers=192.168.1.1
# 手动自定义DNS服务器
static domain_name_servers=114.114.114.114

用命令行工具 Speedtest-CLI 来测试你的上下行网速

https://linux.cn/article-5626-1.html

18509) Unitel (Vientiane Capital, Laos) [1294.07 km]

18361) Skytelecom State Company (Vientiane Capital, Laos) [1294.07 km]

1936) Lao Telecom (Vientiane, Lao PDR) [1297.68 km]

20017) Planet Co. Ltd (Vientiane, Laos) [1297.68 km]

6999) ETL company limited (Vientiane, Lao PDR) [1297.68 km]

 speedtest_cli.py --server 1936

speedtest_cli.py --server 19076

speedtest_cli.py --server 18509 

speedtest_cli.py --server 5726

haproxy安装注意事项

如果用于转发

请在系统 

# 
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf 
# 
echo "net.ipv4.ip_nonlocal_bind = 1" >> /etc/sysctl.conf 
# 
sysctl -p

In /etc/sysconfig/selinux , change the following lines:

#
sed -i 's/\(^SELINUX=\).*/\SELINUX=disabled/' /etc/sysconfig/selinux
sed -i 's/\(^SELINUX=\).*/\SELINUX=disabled/' /etc/selinux/config

reboot, and verify the selinux status by running ‘sestatus‘. It should say:

SELinux status: disabled