Jump to content

HOWTO - L2 server with (transparent) proxies


Recommended Posts

HOWTO - L2 server with (transparent) proxies

DISCLAIMER: I wrote this HOWTO without really testing it (I've configured it for my server more than year ago), so if you find any mistake, feel free to comment/ask, I'll try to update this HOWTO appropriately.

Purpose of using proxies

The standard old way of setting up L2off server involves one Windows Server that is connected directly to internet and players connect directly to it's IP address. While it's enough for a small server, it may bring few problems:

  • If someone wants to DDoS your server, he just pays for some attack to your IP address. You're screwed.
  • There may be players who experience lags because route from their network to your server isn't perfect (because of bad peering between player's ISP and your datacenter etc). You can't just tell those players "Try better ISP".
  • Players from foreign countries may have good ping to datacenters in their country but not to your data center.

Some of these problems can be mitigated by using proxies for your server:

  • When someone buys DDoS attack to your login server on first proxy, you can just change IP address in your DNS and let your players login on your second proxy (you need to have domain name instead of IP address in your l2.ini).
  • When someone buys DDoS attack to your game server on first proxy, players can still play on second proxy.
  • When player has bad ping on first proxy, login will be bit slower but player can select second proxy with better ping and play on it

You can also do the same with your website, just replace ports 2106 and 7777 with 80 and 443...

What will you need

  • Some basic knowledge about L2off, Linux and networking. Also you'll have to read few manuals.
  • Linux router between your L2 server and internet, you can do it two ways (of course it must be configured to forward IPv4 traffic):
    • real physical Linux router between them
    • Linux as main operating system on your server hardware + L2 server in virtual machine (kvm-qemu).
  • Linux servers (1 core & 512 MB RAM is usually enough) for proxies
  • Copy of patched hauthd - READ INSTRUCTIONS THERE
  • Script that will be able to restart hauthd when L2 server crashes/exits

How to do it

I will use following IP networks and addresses in this example:

  • Networks:
    • Local network 10.0.0.0/24 between Linux router and Windows VM
    • Virtual network 10.0.1.0/24 between Linux router and proxies
  • Addresses:
    • 1.2.3.4 on Linux router eth0
    • 2.3.4.5 on first proxy eth0
    • 3.4.5.6 on second proxy eth0
    • 4.5.6.7 on third proxy eth0
    • 10.0.0.1 on Linux router eth1 (for physical router) or tap0 (for kvm-qemu variant)
    • 10.0.0.2 on Windows server Local network interface
    • 10.0.1.1 on Linux router tun0 (OpenVPN server 1)
    • 10.0.2.1 on Linux router tun1 (OpenVPN server 2)
    • 10.0.3.1 on Linux router tun2 (OpenVPN server 3)
    • 10.0.1.2 on first proxy tun0 (OpenVPN client)
    • 10.0.2.2 on second proxy tun0 (OpenVPN client)
    • 10.0.3.2 on third proxy tun0 (OpenVPN client)

 

Physical network:

 

l2-proxies-physical-network.png.aced8219e6456f630529db2754136d09.png

 

Logical network:

 

l2-proxies-logical-network.png.8dc15fb59fab157a254514dddca94364.png

 

Now proceed with installation and configuration:

  • ROUTER + PROXIES: Install OpenVPN
  • ROUTER: For each proxy, configure one instance of OpenVPN server with static key (it will have to run on different ports, for example 1194, 1195, 1196)
  • PROXY: Copy static key from router, configure OpenVPN client
  • WINDOWS: Make sure windows server can ping linux router (ping 10.0.0.1)
  • PROXY: Make sure proxies can ping server (ping 10.0.1.1 / ping 10.0.2.1 / ping 10.0.3.1)
  • PROXY: Setup NAT (find some way how to run it on every start!)
    iptables -t nat -A PREROUTING -m tcp -p tcp --dport 2106 -j DNAT --to-destination 10.0.0.2:2106
    iptables -t nat -A PREROUTING -m tcp -p tcp --dport 7777 -j DNAT --to-destination 10.0.0.2:7777
    
    You need this to make proxies forward traffic on ports 2106 and 7777 to windows server.
     
  • ROUTER: Setup connmark (find some way how to run it on every start! If it's physical router, use eth1 instead of tap0!):
    iptables -t mangle -A PREROUTING -i tun0 -p tcp -m tcp --dport 7777 -j CONNMARK --set-mark 100
    iptables -t mangle -A PREROUTING -i tun1 -p tcp -m tcp --dport 2106 -j CONNMARK --set-mark 101
    iptables -t mangle -A PREROUTING -i tun1 -p tcp -m tcp --dport 7777 -j CONNMARK --set-mark 101
    iptables -t mangle -A PREROUTING -i tun2 -p tcp -m tcp --dport 2106 -j CONNMARK --set-mark 101
    iptables -t mangle -A PREROUTING -i tun2 -p tcp -m tcp --dport 7777 -j CONNMARK --set-mark 101
    iptables -t mangle -i tap0 -p tcp -m tcp --sport 2106 -j CONNMARK --restore-mark
    iptables -t mangle -i tap0 -p tcp -m tcp --sport 7777 -j CONNMARK --restore-mark
    You need this to mark connections so you know where they came from.
     
  • ROUTER: Setup policy-based routing (find some way how to run it on every start!):
    ip rule add fwmark 100 table 100
    ip route add default via 10.0.1.2 table 100
    ip rule add fwmark 101 table 101
    ip route add default via 10.0.2.2 table 101
    ip rule add fwmark 102 table 102
    ip route add default via 10.0.3.2 table 102

    You need this to make packets go back through the right proxy. Otherwise you'll send those packets out via your router public interface which won't work.
     

  • WINDOWS: Setup hauthd to use multiple proxies and add servers appropriately to dbo.server table
  • WINDOWS: Make sure hauthd restarts every time L2 server restarts

 

Useful resources

 

 

Edited by eressea
  • Like 1
  • Thanks 3
  • Upvote 2
Link to comment
Share on other sites

Would this work with single proxy and no router machine? I am kind of banging my head here trying to make that setup work.

 

My setup: 1 linux proxy running ppp server.

Proxy ppp0 interface with ip 192.168.0.1, windows server client with ip 192.168.0.234.

$ip in the commands is external proxy server ip.

 

iptables -t nat    -A PREROUTING         -p tcp -m multiport --dport 2106,7777        -j DNAT     --to-dest 192.168.0.234
iptables -t mangle -A PREROUTING -i eth0 -p tcp -m multiport --dport 2106,7777 -m tcp -j CONNMARK --set-mark 101
iptables -t mangle -A PREROUTING -i ppp0 -p tcp -m multiport --sport 2106,7777 -m tcp -j CONNMARK --restore-mark
ip rule add fwmark 101 table 101
ip route add default via $ip table 101

Any idea what i do wrong here?

 

This works, but server sees proxy IP as player IP:

iptables -t nat -A PREROUTING  -p tcp -m multiport --dport 2106,7777 -j DNAT       --to-dest 192.168.0.234
iptables -t nat -A POSTROUTING                                       -j MASQUERADE

 

By the way first post has some typos. Chain is missing in commands with "--restore-mark"

Link to comment
Share on other sites

52 minutes ago, bit said:

Would this work with single proxy and no router machine? I am kind of banging my head here trying to make that setup work.

 

My setup: 1 linux proxy running ppp server.

Proxy ppp0 interface with ip 192.168.0.1, windows server client with ip 192.168.0.234.

$ip in the commands is external proxy server ip.

 


iptables -t nat    -A PREROUTING         -p tcp -m multiport --dport 2106,7777        -j DNAT     --to-dest 192.168.0.234
iptables -t mangle -A PREROUTING -i eth0 -p tcp -m multiport --dport 2106,7777 -m tcp -j CONNMARK --set-mark 101
iptables -t mangle -A PREROUTING -i ppp0 -p tcp -m multiport --sport 2106,7777 -m tcp -j CONNMARK --restore-mark
ip rule add fwmark 101 table 101
ip route add default via $ip table 101

Any idea what i do wrong here?

 

This works, but server sees proxy IP as player IP:


iptables -t nat -A PREROUTING  -p tcp -m multiport --dport 2106,7777 -j DNAT       --to-dest 192.168.0.234
iptables -t nat -A POSTROUTING                                       -j MASQUERADE

 

By the way first post has some typos. Chain is missing in commands with "--restore-mark"

 

You can't do it without Linux router - Windows can't do policy-based routing.

 

You would have to set default gateway on Windows Server to 192.168.0.1 and make all packets out go through it (but you would lose connectivity to it from internet, so you would have to create static route via previous default gateway to your proxy; even that would be very inconvenient because you would have to access your server only from proxy or via the proxy - because there would be no other way to it).

 

Without right default gateway your only option is to use MASQUERADE or SNAT (it's the same, masquerade just automatically assumes new source IP address) which changes sender IP address to proxy IP - that you then see on Windows server.

Edited by eressea
Link to comment
Share on other sites

4 hours ago, eressea said:

HOWTO - L2 server with (transparent) proxies

DISCLAIMER: I wrote this HOWTO without really testing it (I've configured it for my server more than year ago), so if you find any mistake, feel free to comment/ask, I'll try to update this HOWTO appropriately.

Purpose of using proxies

The standard old way of setting up L2off server involves one Windows Server that is connected directly to internet and players connect directly to it's IP address. While it's enough for a small server, it may bring few problems:

  • If someone wants to DDoS your server, he just pays for some attack to your IP address. You're screwed.
  • There may be players who experience lags because route from their network to your server isn't perfect (because of bad peering between player's ISP and your datacenter etc). You can't just tell those players "Try better ISP".
  • Players from foreign countries may have good ping to datacenters in their country but not to your data center.

Some of these problems can be mitigated by using proxies for your server:

  • When someone buys DDoS attack to your login server on first proxy, you can just change IP address in your DNS and let your players login on your second proxy (you need to have domain name instead of IP address in your l2.ini).
  • When someone buys DDoS attack to your game server on first proxy, players can still play on second proxy.
  • When player has bad ping on first proxy, login will be bit slower but player can select second proxy with better ping and play on it

You can also do the same with your website, just replace ports 2106 and 7777 with 80 and 443...

What will you need

  • Some basic knowledge about L2off, Linux and networking. Also you'll have to read few manuals.
  • Linux router between your L2 server and internet, you can do it two ways (of course it must be configured to forward IPv4 traffic):
    • real physical Linux router between them
    • Linux as main operating system on your server hardware + L2 server in virtual machine (kvm-qemu).
  • Linux servers (1 core & 512 MB RAM is usually enough) for proxies
  • Copy of patched hauthd - READ INSTRUCTIONS THERE
  • Script that will be able to restart hauthd when L2 server crashes/exits

How to do it

I will use following IP networks and addresses in this example:

  • Networks:
    • Local network 10.0.0.0/24 between Linux router and Windows VM
    • Virtual network 10.0.1.0/24 between Linux router and proxies
  • Addresses:
    • 1.2.3.4 on Linux router eth0
    • 2.3.4.5 on first proxy eth0
    • 3.4.5.6 on second proxy eth0
    • 4.5.6.7 on third proxy eth0
    • 10.0.0.1 on Linux router eth1 (for physical router) or tap0 (for kvm-qemu variant)
    • 10.0.0.2 on Windows server Local network interface
    • 10.0.1.1 on Linux router tun0 (OpenVPN server 1)
    • 10.0.2.1 on Linux router tun1 (OpenVPN server 2)
    • 10.0.3.1 on Linux router tun2 (OpenVPN server 3)
    • 10.0.1.2 on first proxy tun0 (OpenVPN client)
    • 10.0.2.2 on second proxy tun0 (OpenVPN client)
    • 10.0.3.2 on third proxy tun0 (OpenVPN client)

 

Physical network:

 

l2-proxies-physical-network.png.aced8219e6456f630529db2754136d09.png

 

Logical network:

 

l2-proxies-logical-network.png.8dc15fb59fab157a254514dddca94364.png

 

Now proceed with installation and configuration:

  • ROUTER + PROXIES: Install OpenVPN
  • ROUTER: For each proxy, configure one instance of OpenVPN server with static key (it will have to run on different ports, for example 1194, 1195, 1196)
  • PROXY: Copy static key from router, configure OpenVPN client
  • WINDOWS: Make sure windows server can ping linux router (ping 10.0.0.1)
  • PROXY: Make sure proxies can ping server (ping 10.0.1.1 / ping 10.0.2.1 / ping 10.0.3.1)
  • PROXY: Setup NAT (find some way how to run it on every start!)
    
    iptables -t nat -A PREROUTING -m tcp -p tcp --dport 2106 -j DNAT --to-destination 10.0.0.2:2106
    iptables -t nat -A PREROUTING -m tcp -p tcp --dport 7777 -j DNAT --to-destination 10.0.0.2:7777
    
    You need this to make proxies forward traffic on ports 2106 and 7777 to windows server.
     
  • ROUTER: Setup connmark (find some way how to run it on every start! If it's physical router, use eth1 instead of tap0!):
    
    iptables -t mangle -A PREROUTING -i tun0 -p tcp -m tcp --dport 7777 -j CONNMARK --set-mark 100
    iptables -t mangle -A PREROUTING -i tun1 -p tcp -m tcp --dport 2106 -j CONNMARK --set-mark 101
    iptables -t mangle -A PREROUTING -i tun1 -p tcp -m tcp --dport 7777 -j CONNMARK --set-mark 101
    iptables -t mangle -A PREROUTING -i tun2 -p tcp -m tcp --dport 2106 -j CONNMARK --set-mark 101
    iptables -t mangle -A PREROUTING -i tun2 -p tcp -m tcp --dport 7777 -j CONNMARK --set-mark 101
    iptables -t mangle -i tap0 -p tcp -m tcp --sport 2106 -j CONNMARK --restore-mark
    iptables -t mangle -i tap0 -p tcp -m tcp --sport 7777 -j CONNMARK --restore-mark
    You need this to mark connections so you know where they came from.
     
  • ROUTER: Setup policy-based routing (find some way how to run it on every start!):
    
    ip rule add fwmark 100 table 100
    ip route add default via 10.0.1.2 table 100
    ip rule add fwmark 101 table 101
    ip route add default via 10.0.2.2 table 101
    ip rule add fwmark 102 table 102
    ip route add default via 10.0.3.2 table 102

    You need this to make packets go back through the right proxy. Otherwise you'll send those packets out via your router public interface which won't work.
     

  • WINDOWS: Setup hauthd to use multiple proxies and add servers appropriately to dbo.server table
  • WINDOWS: Make sure hauthd restarts every time L2 server restarts

 

Useful resources

 

 

and it's nice to have people who can teach others how to have a professional server these days, where servers do not exceed 90 days
 Deserves to be Fixed this topic

Link to comment
Share on other sites

Actually i figured it out. Take a look.

 

Linux proxy server runs OpenVPN server.

OpenVPN network IP of proxy: 10.200.0.1

Windows connects to OpenVPN server, gets IP 10.200.0.10

AuthD/Server both listen on address 10.200.0.10

Do not set default gateway on windows server to 10.200.0.1 This is irrelevant. OpenVPN client does it automatically.

$ip as always - external IP of proxy server

Proxy firewall setup:

iptables        -A INPUT                 -s 10.200.0.0/24 -d 10.200.0.1                         -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0   -s 10.200.0.0/24 -d 10.200.0.10                        -j SNAT --to $ip
iptables -t nat -A PREROUTING  -i eth0 ! -s 10.200.0.10   -p tcp -m multiport --dport 2106,7777 -j DNAT --to 10.200.0.10

To my surprise this setup server can see real client IP address. Also if default gateway is not set on windows everything still works and windows server can still access internet.

 

Can not try it with ppp yet because live server, but i suspect there would be no difference (except for lan IP addresses ofc).

 

Edit:

Turns out windows server indeed can not access internet. Still trying to figure out how to fix openvpn routes so internet works as well as proxied server.

 

Edit:

K i finally figured out how to make internet connection and forwarded server work as well. This is rather dirty solution but it works.

 

Key requirement is that you set default gateway to OpenVPN adapter on windows server. For some reason it is not done automatically.

Add following settings to your OpenVPN.ovpn client config file:

route-nopull
script-security 2
up-delay
up "setgw.bat"

Remove "redirect-gateway" option if you have it.

 

Create setgw.bat script in openvpn config folder with content:

start cmd /c "timeout 10 && netsh interface ipv4 set address %1 static %4 255.255.255.0 %5"

This file will sleep a bit and set default gateway to openvpn network adapter.

 

If you know better solution please share, because this one sucks.

Edited by bit
Link to comment
Share on other sites

17 hours ago, bit said:

If you know better solution please share, because this one sucks.

 

How about

  • install VirtualBox (or use Hyper-V but I don't have any experience with it)
  • create virtual machine with 1 core, 512 MB RAM and 10 GB disk image
  • install Debian Stretch with just only ssh server
  • configure networking so
    • host (windows) will have no IP address set on the primary NIC
    • guest (linux) will have eth0 bridged with windows primary NIC and will have IP address that your windows server had
    • guest (linux) will have eth1 just between host and guest and set some internal address on it (10.0.0.1/24)
    • host (windows) virtual NIC (linux eth1) will have internal address in the same segment (10.0.0.2/24) and default gateway set to linux IP (10.0.0.1)

Then you would have real linux router so you can do all the stuff needed (policy-based routing). But you need to find some way how to start that VM when windows start.

  • Upvote 1
Link to comment
Share on other sites

This is a great post. Thanks for taking the time to write it!

 

I would like to offer a few improvements as outlined below. This system i propose borrows heavily from my career life and experience. I've deployed and operate several of these systems and use one of my own to host professional business applications.

 

j9rnlY1.png

 

I intentionally did not provide step by step instructions on how to set this up. It is important that you actually spend the time to understand how the system works rather than blindly follow instructions. Nothing presented here is overly complex but it will likely require you to learn something new.

 

/// Resources

Online Diagram: L2 Server Hosting Environment

 

OVH Virtual Mac (Other providers offer this too!)
https://docs.ovh.com/gb/en/dedicated/network-virtual-mac/

 

MikroTik CHR
https://wiki.mikrotik.com/wiki/Manual:CHR

 

 

 

Edited by tk422
Link to comment
Share on other sites

  • 5 months later...

eressea trying to replicate your exact setup. im banging my head here. sure you did not forget anything about proxy setup? you set DNAT to IP of l2server, however here on my end proxy does not know where to route such packet because l2server is on different subnet than openvpn proxies. any ideas?

Link to comment
Share on other sites

11 hours ago, bit said:

eressea trying to replicate your exact setup. im banging my head here. sure you did not forget anything about proxy setup? you set DNAT to IP of l2server, however here on my end proxy does not know where to route such packet because l2server is on different subnet than openvpn proxies. any ideas?

 

Hi, the machine "Linux Router" must be in all networks and route packets between them

Link to comment
Share on other sites

1 hour ago, eressea said:

 

Hi, the machine "Linux Router" must be in all networks and route packets between them

Ah right, when proxy connects to router it gets default gateway set. Well truth is im not doing 100% replica of this setup. I swapped openvpn with wireguard. Things work differently with wireguard. Now it all makes sense. Thanks!

Link to comment
Share on other sites

  • 1 month later...
  • 4 months later...

I finally managed to replicate your setup almost exactly. The only difference is that i used wireguard instead of openvpn. The most notable thing in this setup is rp_filter. I was not aware of it and thus spent multiple weeks figuring it out. Anyone following these directions:

  • Do not customize AllowedIPs thinking you will tighten security - you will break packet routing.
  • Do not forget rp_filter part.
  • You do not have to run windows instance in a VM. Could simply connect windows server to same network using TunSafe client.

eressea thanks for initial guide. it was absolutely essential in making transparent proxying happen for me :)


#### Setup

+--+-------------------+------+              +----------------------------+
|  |                   |      |              |                            |
|  | VM (10.20.0.100)  <---------------------+  Proxy: 10.21.0.101 (wg21) |
|  |                   |      |              |         y.y.y.y     (eth0) |
|  +-------------------+      |              |                            |
|                             |              +----------------------------+
|  Router: 10.20.0.1 (virbr0) |
|          10.21.0.1 (wg21)   |
|          x.x.x.x   (eth0)   |
|                             |
+-----------------------------+

#### Server

 

wg21.conf

    [Interface]
    Address = 10.21.0.1/24
    Table = off
    SaveConfig = true
    ListenPort = 43832
    PrivateKey = <...>
    
    [Peer]
    PublicKey = <...>
    AllowedIPs = 0.0.0.0/0        # Required for preserving original source ip
    Endpoint = y.y.y.y:43832


iptables

    # enable forwarding
    echo 1 > /proc/sys/net/ipv4/ip_forward
    # prevent packets with original source from being dropped
    echo 0 >/proc/sys/net/ipv4/conf/all/rp_filter
    echo 1 >/proc/sys/net/ipv4/conf/eth0/rp_filter
    
    wg-quick up wg21
    
    # transparent proxying
    ip rule add fwmark 101 table 101
    ip route add default via 10.21.0.101 table 101
    iptables -t mangle -A PREROUTING -i wg21   -p tcp -m multiport --dport $gs_ports -j CONNMARK --set-mark 101
    iptables -t mangle -A PREROUTING -i virbr0 -p tcp -m multiport --sport $gs_ports -j CONNMARK --restore-mark
    
    # forwarding
    iptables -t filter -I FORWARD -i wg21 -o virbr0 -p tcp -d $gs -m multiport --dports $gs_ports -j ACCEPT
    iptables -t filter -A FORWARD -i wg21 -j ACCEPT
    iptables -t filter -A FORWARD -o wg21 -j ACCEPT

#### Proxy

wg21.conf

    [Interface]
    Address = 10.21.0.101/32
    Table = off
    SaveConfig = true
    ListenPort = 43832
    PrivateKey = <...>
    
    [Peer]
    PublicKey = <...>
    AllowedIPs = 0.0.0.0/0    # Required so that packets can reach 10.20.0.100
    Endpoint = x.x.x.x:43832

iptables

    wg-quick up wg21
    ip route add 10.20.0.100 dev wg21    # Routing to VM
    ip route add 10.21.0.0/24 dev wg21   # Routing to vlan
    
    iptables -A FORWARD -i wg21 -j ACCEPT
    iptables -A FORWARD -o wg21 -j ACCEPT
    
    # forward incoming packets to VM
    iptables -t nat -A PREROUTING  -i $eth0 -p tcp -m multiport --dport $gs_ports -j DNAT --to 10.20.0.100
    iptables -t nat -A POSTROUTING -s 10.21.0.0/24 -o eth0 -j MASQUERADE

 

Link to comment
Share on other sites

  • 1 year later...

Tell me please, is it possible to set up account registration with binding to static ip, and adding ip to the white list - with the included server login function only from the white list? And enable an additional firewall, which will also filter out all ip addresses except the white list? Will this protect against possible DDoS attacks?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Posts

    • WTB Site Developer services.
    • @TZANEEN BUY UNIVERSAL SSD CHEMICAL SOLUTION  +27833928661 in South Africa, Gauteng, KwaZulu-Natal, Limpopo, Free State, Mpumalanga, North West, Western Cape, Eastern Cape, Northern Cape, Benoni, Boksburg, Brakpan, Carletonville, Germiston, Johannesburg, Krugersdorp, Mafikeng, Pretoria, Randburg, Randfontein, Roodepoort, Soweto, Springs, Vanderbijlpark, Vereeniging, Durban,  +27833928661Empangeni, Ladysmith, Newcastle, Pietermaritzburg, Pinetown, Ulundi, Umlazi, Bethlehem, Bloemfontein, Jagersfontein, Kroonstad, Odendaalsrus, Parys, Phuthaditjhaba, Sasolburg, Virginia, Welkom, Giyani, Lebowakgomo, Musina, Phalaborwa, Polokwane, Seshego, Sibasa, Emalahleni, Nelspruit, Secunda, Standerton, Klerksdorp, Mahikeng, Mmabatho, Potchefstroom, Rustenburg, Bellville, Cape Town, Constantia, George, Hopefield, Oudtshoorn, Paarl, Simon’s Town, Stellenbosch, Swellendam, Worcester, Alice, Butterworth, East London, Graaff-Reinet, Grahamstown, King William’s Town, Mthatha, Port Elizabeth, Queenstown, Uitenhage, Zwelitsha. +27833928661 Call For Ssd Chemical Solution for Cleaning All Notes +27833928661. Please inform us immediately on Email: Kennroger77@gmail.com Or Call: +27833928661. https://Kennroger7.Blogspot.com/website https://Kennroger7.Blogspot.com/techniciankenn https://Kennroger7.blogspot.com/   We Clean all types of Currencies call  +27833928661 Ssd Solution Chemical for Cleaning Black Money Notes Call +27833928661 Ssd Solution Used to Clean all type of Blackened +27833928661, Tainted and Defaced Bank Notes  +27833928661. We Sell Ssd Chemical Solution Used to Clean All type of Black Money and any Color Currency, Stain and Defaced Bank Notes with any others equipment being bad. Our technicians are highly qualified and are always ready to handle the cleaning perfectly. Our chemical is 100% Pure. Automatic Ssd Solution for Sale +27833928661 Rustenburg, Mafikeng, Polokwane Durban/east London, Pretoria, Johannesburg, Mpumalanga. Ssd chemical Solution for Sale in Johannesburg  +27833928661 in Zimbabwe, Mozambique, Angola, Namibia, Botswana, Lesotho and Swaziland Call and Buy Ssd Chemical Solution for Defaced Banknotes +27833928661 in Mozambique, South Africa, Lesotho, Swaziland, Namibia, Angola, Botswana, Mauritius, Zambia, Zimbabwe, Mauritania, Mauritius, Congo Call For 100% Pure Ssd Chemical Solution +27833928661 in Finland and USA.   Ssd Chemical Solution for all Defaced Bank Notes in Bloemfontein +27833928661 in Johannesburg, Cape town, Polokwane, Rustenburg, Kimberley, Durban, Pietermaritzburg, Klerksdorp, Mafikeng, Belgium, Honduras, Brazil, Argentina.  +27833928661 We are Specialized in Chemistry for anti-breeze Bank Notes. We also do Chemicals Melting and Recovering of all type of bad money from black to white Call +27833928661. We also sale chemicals like tourmaline,  +27833928661 Ssd Chemical solution and many other activation powder. About Ssd Solution for cleaning black money chemical and allied product incorporated is a major manufacturer of industrial and pharmaceutical products with key specialization in the production of ssd automatic solution used in the cleaning of black money and defaced money and stained bank notes with anti -breeze quality. The ssd solution in it's full range is the best chemical in the market for cleaning anti breeze bank notes, defaced currency and marked notes. Others for damaged notes. +27833928661 Please inform us immediately on Email: Kennroger77@gmail.com or Call: +27833928661. https://Kennroger7.Blogspot.com/website https://Kennroger7.Blogspot.com/techniciankenn https://Kennroger7.blogspot.com/
    • @ (3 IN 1, WORKING 100%) SSD CHEMICAL SOLUTIONS +27833928661 AND ACTIVATION POWDER FOR CLEANING OF BLACK NOTES @BUY SSD CHEMICAL SOLUTIONS ON GOOD PRICE +27833928661, +27833928661 @ CLEANING BLACK NOTES WITH SSD CHEMICALUTUTIONS @BEST SUPPLIERS OF SSD CHEMICAL SOLUTIONS +27833928661 IN Qatar, New York, Limpopo, London, Venezuela, Chile, Sweden, Denmark, Rwanda, Oman ,, Dubai, Poland New Castle, Namibia, Botswana, Mozambique, South Africa, Limpo¬po, JORDAN, Turkey, Belgium, Saudi Arabia, Australia, Malaysia, to Johannesbu Zambia, Swaziland, Madagascar, Zimbabwe, Lesotho, Uganda, rg, Lebanon, Berhrain USA, California, Dallas, England, German, Spain, Jamaica, Brazil, Germany, Austria, Vancouver, Denmark, Hong Kong, China ,, Pretoria, Durban, Australia, Wales, France, Cairo, Namibia, Botswana, China, Norway, Sweden, Capet own, Tanzania, Northern Cape, Canada ,, Soshanguve, Pietermaritzburg Pinetown, Vaal, Polokwane Pretoria Randburg Roodepoort Rustenburg Sebokeng Soweto Springbok Stellenbosch Thohoyandou Umlazi Upington Vanderbijlpark Vereeniging Welkom Tembisa Kempton Park Port Elizabeth Bellville Boksburg Benoni Bloemfontein Cape Town Centurion Durban East London George Empangeni Katlehong Germiston Johannesburg Port Elizabeth Khayelitsha Kimberley Klerksdorp Mamelodi Mitchells Plain Mthatha Nelspruit Newcastle Witbank Eastern cape, Free State Gauteng KwaZulu-Natal Limpopo Mpumalanga Do you have black currency in form of Dollars, Pounds or Euros or any other currency? I have the most powerful and Universal cleaning chemical you are looking for. I sell SSD automatic solution, Vetrol paste 0.2A and so many others. I also have a variety of Powders needed when doing the large cleanings such as Activation powder. We specialize in cleaning all types of defaced notes, black notes, anti-breeze bank notes, stamp coated and stained currency. We melt and re-activate frozen chemicals and offer 100% cleaning for bills like dollar, euro, pounds, RANDS and transferring of colors from used note to new white bills. We offer machines for large cleaning and also deliver products to any location desired by buyers. Laboratory staff are available to demonstrate to clients how the work is done. Are you looking for: — call+27833928661 SSD Chemical Solution Chemical Solution for Cleaning Black Money call+27833928661 SSD Chemical Company SSD Chemical Solution for Cleaning Black Money SSD Preserving Company SSD Chemical Solution for Cleaning Black Money Activation Powder SSD Chemical Solution for Cleaning Black notes Active Powder Activation Powder for Cleaning Black Notes Black Money Cleaning Clean Black Money Best SSD Solution Clean Black Notes Cleaning Black Notes Cleaning Black Money PLEASE NOTE: WE ONLY DEAL IN HIGH QUALITY SSD CHEMICALS SOLUTION FOR CLEANING BLACK MONEY We are manufacturers and sellers of all sort of chemicals like SUPER AUTOMATIC SSD SOLUTION ZWV8 MODEL ACTIVATION POWDER AND REACTIVATION POWDER, ANTI AIR POWDER, MERCURY POWDER, AUTOMATED MONEY DEVELOPER MACHINES CONGEAL CHEMICAL MELTING EQUIPMENT, TEMPERATURE CONTROLLERS AND AUTOMATIC CLEANING MACHINE. WE ARE SELLING SSD CHEMICAL SOLUTION FOR CLEANING BLACK MONEY AND POWDER CALL+27833928661 purchase Best SSD Solution Clean Black Notes Dollars WE ALSO SELL CHEMICALS LIKE SSD AUTOMATIC SOLUTION FORM CLEANING BLACK DOLLARS CURRENCIES We clean all black and green money and stamped money Infinity labs pty (since 2000) *: We can help you clean your money, (+27833928661) *, we supply a high quality of the ssd solution with machi * ne and it comes with a full package of instructions and accessories. It is the ultimate anti- * breeze solution used in cleaning defaced currency. It can be referred to as black dollar etc… *. or bank stained currency. PRODUCTS AVAILABLE: * SSD SOLUTION SSD Supreme Solution SSD universal solution SSD Tourmaline solution SSD SOLUTION PK 58 SSD Topix solution SSD Castro X Oxide solution D6 SSD universal Solution D7 SSD SOLUTION PK 58 SSD MECURY DIOSINE AUTOMATIC SOLUTION SSD NSERVATION, ACTIVATION AND RE-ACTIVATION, PARACIENT POWDER, VECTROL PASTE, ZUTA S4, CASTROX OXIDE AUTOMATED MONEY DEVELOPER MACHINES CONGEAL CHEMICAL MELTING EQUIPMENTS * TEMPERATURE CONTROLLERS Our agent will meet with you in any part of the world. CALL OR WATSUPP US @+27833928661 Email: Kennroger77@gmail.com
    • World’s Best Technician for Supplying Universal Ssd Chemical Solution in Limpopo,Sasolburg,Witbank,Standarton,Secunda,Middelburg,Vanderbijlpark,Johannesburg,Secunda,Cape Town,Burgersfort, Polokwane, Thohoyandou, phalaborwa, mokopane, bochum, +27833928661lebowakgomo, mankweng, Seshego, dendron, Giyani, Lephalale, musina,Alexandra +27833928661Johannesburg Lenasia Midrand Randburg+27833928661 Roodepoort Sandton Soweto Alberton Germiston Benoni Boksburg ,rakpan Daveyton,Duduza ,edenvale ,germiston Impumelelo Isando Katlehong Kempton Park KwaThema Nigel Reiger Park Springs Tembisa Thokoza Tsakane Vosloorus Wattville Atteridgaeville Centurion Hammanskraal Irene Mamelodi Pretoria Soshanguve Boipatong Bophelong Evaton Sebokeng Sharpeville, Vereeniging,Meyerton Heidelberg Ratanda Bronkhorstspruit Ekangala Kungwini Bronberg,Cullinan Refilwe,Zithobeni ,Carletonville,Khutsong Kagiso Kromdraai KrugersdorpMagaliesburg Muldersdrift Mohlaken,Randfontein Bekkersdal,testonaria Kimberley Upington Kuruman Sprinbok Kathu Ritchie Postmasburg,Bellville Bloemfontein.+27833928661 To purchase Best SSD Chemical Solution to Clean Black Notes Dollars.WE ALSO SALE +27833928661CHEMICALS LIKE SSD AUTOMATIC SOLUTION FORM CLEANING BLACK DOLLARS CURRENCIES. I hereby use this media to inform you, that our company can clean out black deface currency, (stained money) bank notes, We have all kinds of chemicals used for cleaning of black money or stained money in currencies such as U.S Dollars, Euro, Pound, and all local currencies, even if your defaced note is 25 years old. WE SALE CHEMICALS LIKE TOURMALINE, S.S.D. Chemical / Solution , CASTRO X OXIDE, A4 AND MANY Like ACTIVATION POWDER & SSD SOLUTION FOR CLEANING BLACK MONEY Chemical and Allied product incorporated is a major manufacturer of industrial and pharmaceutical products with key specialization in the production of S.S.D Automatic solution used in the cleaning of black money , defaced money and stained bank notes with anti-breeze quality. OTHERS FOR DAMAGED NOTES, BILLS LIKE USD,EURO, POUNDS, Contact Dr.Elvis+27833928661 OR Email Kennroger77@gmail.com for more Information…Chemical Solution in Limpopo,Sasolburg,Witbank,Standarton,Secunda,Middelburg,Vanderbijlpark,Johannesburg,Secunda,Cape Town,Burgersfort, Polokwane, Thohoyandou, phalaborwa, mokopane, bochum, lebowakgomo, mankweng, Seshego, dendron, Giyani, Lephalale, musina,Alexandra Johannesburg Lenasia Midrand Randburg Roodepoort Sandton Soweto Alberton Germiston Benoni Boksburg ,rakpan Daveyton,Duduza ,edenvale ,germiston Impumelelo Isando Katlehong Kempton Park KwaThema Nigel Reiger Park Springs Tembisa Thokoza Tsakane Vosloorus Wattville Atteridgaeville Centurion Hammanskraal Irene Mamelodi Pretoria Soshanguve Boipatong Bophelong Evaton Sebokeng Sharpeville, Vereeniging,Meyerton Heidelberg Ratanda Bronkhorstspruit Ekangala Kungwini Bronberg,Cullinan Refilwe,Zithobeni ,Carletonville,Khutsong Kagiso Kromdraai KrugersdorpMagaliesburg Muldersdrift Mohlaken,Randfontein Bekkersdal,testonaria Kimberley Upington Kuruman Sprinbok Kathu Ritchie Postmasburg,Bellville Bloemfontein. To purchase Best SSD Chemical Solution to Clean Black Notes Dollars.WE ALSO SALE CHEMICALS LIKE SSD AUTOMATIC SOLUTION FORM CLEANING BLACK DOLLARS CURRENCIES. I hereby use this media to inform you, that our company can clean out black deface currency, (stained money) bank notes, We have all kinds of chemicals used for cleaning of black money or stained money in currencies such as U.S Dollars, Euro, Pound, and all local currencies, even if your defaced note is 25 years old. WE SALE CHEMICALS LIKE TOURMALINE, S.S.D. Chemical / Solution , CASTRO X OXIDE, A4 AND MANY Like ACTIVATION POWDER & SSD SOLUTION FOR CLEANING BLACK MONEY Chemical and Allied product incorporated is a major manufacturer of industrial and pharmaceutical products with key specialization in the production of S.S.D Automatic solution used in the cleaning of black money , defaced money and stained bank notes with anti-breeze quality. OTHERS FOR DAMAGED NOTES, BILLS LIKE USD,EURO, POUNDS, Contact Dr.Elvis+27833928661 OR Email Kennroger77@gmail.com for more Information… in Limpopo,Sasolburg,Witbank,Standarton,Secunda,Middelburg,Vanderbijlpark,Johannesburg,Secunda,Cape Town,Burgersfort, Polokwane, Thohoyandou, phalaborwa, mokopane, bochum, lebowakgomo, mankweng, Seshego, dendron, Giyani, Lephalale, musina,Alexandra Johannesburg Lenasia Midrand Randburg Roodepoort Sandton Soweto Alberton Germiston Benoni Boksburg ,rakpan Daveyton,Duduza ,edenvale ,germiston Impumelelo Isando Katlehong Kempton Park KwaThema Nigel Reiger Park Springs Tembisa Thokoza Tsakane Vosloorus Wattville Atteridgaeville Centurion Hammanskraal Irene Mamelodi Pretoria Soshanguve Boipatong Bophelong Evaton Sebokeng Sharpeville, Vereeniging,Meyerton Heidelberg Ratanda Bronkhorstspruit Ekangala Kungwini Bronberg,Cullinan Refilwe,Zithobeni ,Carletonville,Khutsong Kagiso Kromdraai KrugersdorpMagaliesburg Muldersdrift Mohlaken,Randfontein +27833928661Bekkersdal,testonaria Kimberley Upington Kuruman Sprinbok Kathu Ritchie Postmasburg,Bellville Bloemfontein.+27833928661 To purchase Best SSD Chemical Solution to Clean Black Notes Dollars.WE ALSO SALE CHEMICALS LIKE SSD AUTOMATIC SOLUTION FORM CLEANING BLACK DOLLARS CURRENCIES. I hereby use this media to inform you, that our company can clean out black deface currency, +27833928661(stained money) bank notes, We have all kinds of chemicals used for cleaning of black money or stained money in currencies such as U.S Dollars, Euro, Pound, and all local currencies, even if your defaced note is 25 years old.+27833928661 WE SALE CHEMICALS LIKE TOURMALINE, S.S.D. Chemical / Solution , CASTRO X OXIDE, A4 AND MANY Like ACTIVATION POWDER & SSD SOLUTION FOR CLEANING BLACK MONEY Chemical and Allied product incorporated is a major manufacturer of industrial and pharmaceutical products with key specialization in the production of S.S.D Automatic solution used in the cleaning of black money , defaced money and stained bank notes with anti-breeze quality. OTHERS FOR DAMAGED NOTES, BILLS LIKE USD,EURO, POUNDS,+27833928661 Contact Dr.Elvis +27833928661 OR Email Kennroger77@gmail.com for more Information…
    • Cleaning black money +27833928661 with ssd chemical solution  +27 833928661  vanderbijlpark- nairobi, East London Tembisa ,Cape Town Durban Johannesburg Soweto Pretoria Port Elizabeth Pietermaritzburg Benoni Vereeniging Bloemfontein Boksburg Welkom Newcastle Krugersdorp Diepsloot Botshabelo Brakpan Witbank Richards Bay Vanderbijlpark Centurion Uitenhage Roodepoort Paarl Springs Carletonville Klerksdorp Midrand Westonaria Middelburg Vryheid Orkney Kimberley eMbalenhle Nigel Mpumalanga Bhisho Randfontein DR MBONYE has powerful lottery spells to help you win the lottery jackpot and make you rich beyond your wildest dreams I have used lottery spells and won in my personal capacity.Money Spells to eradicat Change your life For information CONTACTWhatsapp +27 833928661 EMAIL: kennrogger77@gmail.com cleaning black money with ssd chemical solution in Uganda,South sudan,Kemya,South Africa,Dubai,UAE,Kuwait,Tanzanai +27 833928661 Our vision to be the leading premier high-value and high security chemicals producer in the world and offering our services to everyone who knocks at our door step. SSD CHEMICAL SOLUTIONS LTD is uniquely positioned to consistently provide high-value solutions and world-changing chemicals and services to our clients. +27 833928661 WE ARE SPECIALIZED IN CHEMISTRY FOR ANTI-BREEZE BANK NOTES. WE ALSO DO CHEMICALS MELTING AND RECOVERING OF ALL TYPE OF BAD MONEY FROM BLACK TO WHITE AS YOU CAN SEE BELOW. Anti-freezing Preparations and Prepared De-icing Fluids, SSD Solution. Vectrol paste, Tebi-Manetic solution, Defaced currency, Cleaning chemical. Darkened currency, Black coated notes, Cleaning black money, super automatic SSD solution, anti-breeze bank notes. please contact Linda for more information on +27 833928661
  • Topics

×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock