Мусорная проволока
Функция: улучшить удобство использования плохих сетей.
UDP маскируется под TCP: снижает качество обслуживания после маскировки под TCP.
Можно настроить несколько серверов, автоматическое отключение, повторное подключение и смену сервера, отсутствие осведомленности о верхнем уровне: обнаружение пульса, отправка 5 пакетов пульса в секунду. Если все пять пакетов пульса потеряны, переключитесь на следующий сервер. Это можно сделать за 2 секунды.
Опциональное прямое исправление ошибок FEC: 20 исходных пакетов плюс 10 пакетов исправления ошибок могут снизить коэффициент потери пакетов до одной десятитысячной.
Перемежающееся кодирование: может равномерно распределить потерю пакетов за короткий период времени, чтобы предотвратить потерю как исходных пакетов, так и пакетов исправления ошибок.
Метод настройки
Junkwire использует устройства Tun для передачи данных, поэтому сначала убедитесь, что операционная среда поддерживает устройства Tun. После запуска будет создано устройство под названием faketcp. IP-адрес этого устройства можно настроить через файл конфигурации. Как правило, его можно записать как 10.1.1.1, если он не конфликтует с вашей локальной сетевой средой. После запуска сетевое устройство 10.1.1.2 будет виртуализировано.
Конфигурация сервера
Сначала настройте сервер DNAT для пересылки пакетов соответствующего порта в мусорную сеть для обработки.
Сначала включите пересылку ipv4, добавьте net.ipv4.ip_forward=1 в файл /etc/sysctl.conf, а затем запустите sysctl -p, чтобы изменения вступили в силу.
Добавить правила iptables iptables -t nat -A PREROUTING -i имя сетевой карты -d IP сетевой карты -p tcp --dport 17021 (порт подключения клиента) -j DNAT --to-destination 10.1.1.2:17021
Пример конфигурации Wireguard, изменение в зависимости от реальной ситуации
[Interface]
Address = 10.200.201.1/24
ListenPort = 21007
#ListenPort = 12273
PrivateKey = xxx
MTU = 1340
[Peer]
PublicKey = xxx
AllowedIPs = 10.200.201.2/32
PersistentKeepalive = 25
Пример файла конфигурации нежелательной почты на стороне сервера
{
"mode": "server",
"queue":500,
"server": {
"tun": {
"deviceIP": "10.1.1.1",
"port": "17021",
"srcIP": "10.1.1.2"
},
"socket": {
"dstIP": "127.0.0.1",
"dstPort": "21007"
}
},
"fec": {
"enable":false, //是否启用fec
"seg": 20, //几个数据包
"parity": 20, //几个纠错包
"duration":0, //交织编码的时长
"stageTimeout":8, //桶没装满的话最长等多久
"cap":500,
"row":1000
}
}
Запустите файл конфигурации junkwire ./junkwire -c.
Запустите Wireguard wg-быстро wg0
Конфигурация клиента
Клиенту необходимо разрешить беспрепятственную отправку данных виртуального устройства 10.1.1.2, и требуется snat.
iptables -t nat -A POSTROUTING -s 10.1.1.2 -p tcp -o eth0 -j SNAT --IP-адрес локальной сетевой карты источника
Конфигурация маршрутизации для предотвращения передачи экспортного IP-адреса в Wireguard
ip маршрут добавить сервер ip/32 через локальный шлюз dev eth0
конфигурация защиты от проводов
[Interface]
Address = 10.200.201.2/24
PrivateKey = yJAu/oI+Oo/Mhswqbm3I/3PWYi+WSxX7JpTQ8IoQqWU=
MTU = 1340
[Peer]
PublicKey = 5/SgVv3hc3f5Fa/XoLo4isBzyrwwATs5sfQv7oWhiTM=
Endpoint = 127.0.0.1:21007
AllowedIPs = 0.0.0.0/1,128.0.0.0/1
PersistentKeepalive = 25
пример конфигурации мусорной сети
{
"mode": "client",
"queue":500,
"client": {
"tun": {
"deviceIP": "10.1.1.1",
"port": "8978",
"srcIP": "10.1.1.2",
"peers": [
{
"ip":"线路1",
"port":"50018"
},
{
"ip":"线路2",
"port":"17021"
},
{
"ip":"线路3",
"port":"17021"
}
]
},
"socket": {
"listenPort": "21007"
}
},
"fec": {
"enable":false,
"seg": 20,
"parity": 10,
"stageTimeout": 8,
"duration": 0,
"cap": 500,
"row": 1000
}
}
Запустите файл конфигурации junkwire ./junkwire -c.
Запустите Wireguard wg-быстро wg0