Haproxy全透明代理
生活随笔
收集整理的這篇文章主要介紹了
Haproxy全透明代理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 系統環境搭建
- 操作系統Centos7 內核版本3.10
Centos7已自帶TPROXY模塊,不需要安裝TPROXY
2. Haproxy下載,編譯,安裝,配置
下載地址 http://www.haproxy.org/download/ (所有ha版本)
1.4.24 下載地址 http://www.haproxy.org/download/1.4/src/haproxy-1.4.24.tar.gz編譯安裝
tar -xvf haproxy-1.4.24.tar.gzcd haproxy-1.4.24yum install gcc gcc-c++ autoconf automake -y #安裝gcc編譯器make TARGET=linux2628 arch=x86_64 USE_LINUX_TPROXY=1 #重點USE_LINUX_TPROXY=1用于編譯支持TPTOXYmake installmkdir /etc/haproxycp examples/haproxy.cfg /etc/haproxycp examples/haproxy.init /etc/init.d/haproxychmod +x /etc/init.d/haproxycp haproxy /usr/sbin/配置
# this config needs haproxy-1.1.28 or haproxy-1.2.1globallog 127.0.0.1 local0log 127.0.0.1 local1 notice#log loghost local0 infomaxconn 4096# chroot /usr/share/haproxy# uid 99# gid 99daemon#debug#quietdefaultslog globalmode httpoption httplogoption dontlognullretries 3maxconn 2000contimeout 5000clitimeout 50000srvtimeout 50000listen test bind 0.0.0.0:12345balance roundrobinmode tcpoption tcplogsource 0.0.0.0 usesrc clientip #重點,TPROXY需要加上這行。server test 10.17.12.246:12346 weight 1 check inter 2000 rise 2 fall 5
3. 網絡拓撲
客戶端:10.17.12.212---------haproxy節點:10.17.12.192-------------后端服務器節點:10.17.12.246客戶端與后端服務器均為window7 ,haproxy為centos7
4. Haproxy代理服務器配置
iptables配置
iptables -F
實驗中 iptables -F 指令非常重要,不執行此條指令,后面iptables的規則都沒有起作用
iptables -t mangle -N DIVERT
iptables -t mangle -A PREROUTING -p tcp -m socket -j DIVERT
iptables -t mangle -A DIVERT -j MARK --set-mark 222
iptables -t mangle -A DIVERT -j ACCEPT
ip rule add fwmark 222 lookup 100
ip route add local 0.0.0.0/0 dev lo table 100
haproxy 網卡enp0s8的ip地址為 10.17.12.192添加轉發和重定向
# 允許ip轉發echo 1 > /proc/sys/net/ipv4/conf/all/forwarding# 設置松散逆向路徑過濾echo 2 > /proc/sys/net/ipv4/conf/default/rp_filterecho 2 > /proc/sys/net/ipv4/conf/all/rp_filterecho 0 > /proc/sys/net/ipv4/conf/enp0s8/rp_filter# 允許ICMP重定向echo 1 > /proc/sys/net/ipv4/conf/all/send_redirectsecho 1 > /proc/sys/net/ipv4/conf/enp0s8/send_redirects5. 服務器配置
配置路由
route delete 10.17.12.0route add 10.17.12.0 mask 255.255.255.0 10.17.12.192最終路由結果
===========================================================================活動路由:網絡目標 網絡掩碼 網關 接口 躍點數0.0.0.0 0.0.0.0 10.17.12.192 10.17.12.246 1110.17.12.0 255.255.255.0 10.17.12.192 10.17.12.246 1110.17.12.246 255.255.255.255 在鏈路上 10.17.12.246 266127.0.0.0 255.0.0.0 在鏈路上 127.0.0.1 306127.0.0.1 255.255.255.255 在鏈路上 127.0.0.1 306127.255.255.255 255.255.255.255 在鏈路上 127.0.0.1 306192.168.56.0 255.255.255.0 在鏈路上 192.168.56.1 276192.168.56.1 255.255.255.255 在鏈路上 192.168.56.1 276192.168.56.255 255.255.255.255 在鏈路上 192.168.56.1 276224.0.0.0 240.0.0.0 在鏈路上 127.0.0.1 306224.0.0.0 240.0.0.0 在鏈路上 10.17.12.246 266224.0.0.0 240.0.0.0 在鏈路上 192.168.56.1 276255.255.255.255 255.255.255.255 在鏈路上 127.0.0.1 306255.255.255.255 255.255.255.255 在鏈路上 10.17.12.246 266255.255.255.255 255.255.255.255 在鏈路上 192.168.56.1 2766. 測試結果
客戶端測試軟件截圖:
服務端測試軟件截圖7. 參考文檔
- iptables 參考文檔 http://blog.csdn.net/reyleon/article/details/12976341
- haproxy 全透明代理參考文檔 https://my.oschina.net/eddylinux/blog/535043
- http://www.haproxy.com/blog/howto-transparent-proxying-and-binding-with-haproxy-and-aloha-load-balancer/
- http://techblogsearch.com/a/haproxy-transparent-mode-on-centos-7.html
- http://www.360doc.com/content/13/0821/17/13047933_308812287.shtml
- https://wenku.baidu.com/view/335db66a376baf1ffc4fade1.html
- http://forlinux.blog.51cto.com/8001278/1415350/(第二參考資料)
- http://cbonte.github.io/haproxy-dconv/1.4/configuration.html
http://blog.sina.com.cn/s/blog_704836f401011e17.html(第一參考資料)
轉載于:https://www.cnblogs.com/Bonker/p/6814183.html
總結
以上是生活随笔為你收集整理的Haproxy全透明代理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SpringMVC总结三:请求Contr
- 下一篇: 数据库迁移之从oracle 到 MySQ