Skip to content

Three-layer Virtual NAT address conversion (experimental sub-project of SupersocksR)

License

Notifications You must be signed in to change notification settings

liulilittle/SkylakeNAT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SkylakeNAT


Build SkylakeNAT-cli
-------------------------------------------------------------------------------------
DevTools choosable Visual C/C++ 2015, 2017, 2019...(IA32-x86)

vcpkg (https://github.com/Microsoft/vcpkg/)
References:
1、boost and boost::asio-x86
2、openssl-x86
3、TAP-Windows or TAP-Windows6 (openvpn)

Build SupersocksR * (experiment)

Nuget
References: >= Microsoft .NET Framework 4.5、Microsoft Visual C++ 2010 x86 Runtime(CRT)
1、Pcap.Net
2、OpenSSL.Net
3、WinPcap or WinPcap for Win10

Route

1、The default gateway between the vNAT and the TAP device is 10.8.0.0
2、If you need to run all (TCP/IP, ICMP, UDP/IP) protocol data through SkylakeNAT then you need to configure the following route (CMD/cli interface).

WIN + R (runas administrator) -> cmd


route add 0.0.0.0 mask 0.0.0.0 10.8.0.0
route add 0.0.0.0 mask 128.0.0.0 10.8.0.0
route add 128.0.0.0 mask 128.0.0.0 10.8.0.0

WinAPI operation route can be referred to https://github.com/liulilittle/SkylakeNAT/blob/master/SupersocksR/Net/Routing/RouteTableManager.cs

3、If you're only going to SkylakeNAT for an IP or IP segment, you can configure SkylakeNAT as follows
    1、route add 172.8.8.8 mask 255.255.255.255 10.8.0.0 (172.8.8.8 ~ 172.8.8.8)
    2、route add 198.18.0.0 mask 255.254.0.0 10.8.0.0 (198.18.0.0 ~ 198.19.255.255)

Usage

Must run the program as Administrator
Specify that the IP that the SupersocksR listens on must be an "Ethernet physical network card" (typically a RTL[Realtek] network card) that can access input or output traffic

1:SupersocksR 192.168.0.104 7521 yy523o! 25
2:SkylakeNAT --server=192.168.0.104 --port=7521 --key=yy520o! --subtract=25 --max-concurrent=8