DNS UDP Load Balancer using Nginx Rumi, June 14, 2018March 12, 2023 The plan is to build a DNS- UDP load balancer DNS recursive server (actually forwarding service). The design logic is simple- On client side a public recursive+forwarding DNS IP –> hits the Nginx Load Balancers –> sends traffic to Google Public DNS/IBM Public DNS/Own recursive DNS/OpenDNS. The configuration is quite simple on Nginx Load Balancer, the core configuration content is pretty straight forward: # Load balance UDP-based DNS traffic across two servers stream { upstream dns_upstreams { server 192.168.136.130:53; server 192.168.136.131:53; } server { listen 53 udp; proxy_pass dns_upstreams; proxy_timeout 1s; proxy_responses 1; error_log logs/dns.log; } } However, the above configuration is pretty confusing, as where to put it? Should it be in nginx.conf or under /sites-available/default or /conf.d/default.conf… so many options. But finally the riddle was over, as I had to put the syntax inside, nginx.conf file. So, here goes my final/complete nginx.conf file- # For more information on configuration, see: # * Official English Documentation: http://nginx.org/en/docs/ # * Official Russian Documentation: http://nginx.org/ru/docs/ user nginx; worker_processes auto; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; # Load dynamic modules. See /usr/share/nginx/README.dynamic. include /usr/share/nginx/modules/*.conf; events { worker_connections 1024; } http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; include /etc/nginx/mime.types; default_type application/octet-stream; # Load modular configuration files from the /etc/nginx/conf.d directory. # See http://nginx.org/en/docs/ngx_core_module.html#include # for more information. ##################################### # Load balance UDP-based DNS traffic across two servers #stream { # upstream dns_upstreams { # server 8.8.8.8:53; # server 9.9.9.9:53; # } # server { # listen 53 udp; # proxy_pass dns_upstreams; # proxy_timeout 1s; # proxy_responses 1; # error_log logs/dns.log; # } #} ##################################3## include /etc/nginx/conf.d/*.conf; } stream { upstream dns_upstreams { server 8.8.8.8:53; server 9.9.9.9:53; } server { listen 53 udp; proxy_pass dns_upstreams; proxy_timeout 1s; proxy_responses 1; error_log /var/log/dns.log; } } // Update on CentOS You need to install stream binary in order to make this work. yum install nginx-mod-stream Src: Announcing UDP Load Balancing in NGINX and NGINX Plus Related Networking Load BalancenginxUDP Load Balance
Creating a Windows Server 2008 R2 Failover Cluster April 1, 2013April 1, 2013 I hear you…you want your SQL, DHCP, Hyper-V or other services to be highly available for your clients or your internal users. They can be if you create a Windows Failover Cluster and configure those services in the cluster. By doing that if one of the servers crashes the other(s)… Read More
Xcode on my Mac Sierra (10.12.6) March 14, 2019 You can get the correct version here at this URL: https://developer.apple.com/download/more/ to download a your version of Xcode you want. Specifically, get 9.2.1. This is the recent version that works with mac OS Sierra. Alternatively, this link works good too- https://xcodereleases.com/ Related Read More
User Disk Quota in Linux using Webmin- essentials for Hosting Web Hosting Platform May 23, 2008 Quotas on Linux are tricky, not because they are difficult to setup, but because they are so poorly documented, and what documentation exists is more often than not incorrect to the point of not working. If you are using a relatively recent Linux version, the following instructions should work without… Read More