使用nginx 4層轉發 stream模塊實現dnsmasq負載均衡

一.配置說明
需要搭建個dnsmasq的負載均衡,由於haproxy沒法udp負載均衡,所以使用nginx的stream實現udp負載均衡

二.源碼安裝配置nginx
下載nginx-1.16.0.tar.gz
tar zxf nginx-1.16.0.tar.gz
cd nginx-1.16.0/src/auto/cc
vi gcc 關閉gcc編譯,目的減少nginx大小 #debug下面

安裝依賴
yum install -y gcc
yum install -y pcre-devel
yum install -y openssl-devel

檢測編譯環境
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module --with-threads --with-file-aio --with-stream
make
make install

創建用戶
useradd -M -d /usr/local/nginx/ -s /sbin/nologin -u 800 nginx

修改配置文件
cd conf
cp -p nginx.conf nginx.conf.bak
vi nginx.conf

user nginx nginx;
worker_processes 8;
worker_cpu_affinity auto;

#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;

#pid logs/nginx.pid;

events {
worker_connections 1024;
}

stream {
upstream dns {
server 190.168.3.7:53;
server 190.168.3.77:53;
}
server {
listen 53 udp;
proxy_responses 1;
proxy_timeout 20s;
proxy_pass dns;
}
}

檢測啓動
cd /usr/local/nginx/sbin
./nginx -t
./nginx

nginx -V
netstat -anuple | grep 53
監聽udp53

測試dnsmasq負載均衡成功

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章