Собрал тестовый стенд, для проверки сетевой производительности репки:
Встроенный сетевой адаптер в тестировании не будет принимать участия, т.к. 100 мегабит/сек маловато будет. Из запасника были извлечены два гигабитных USB 3.0 сетевых адаптера (TP-Link UE300), которые в теории могут передавать данные на скоростях до 480 мегабит/сек в режиме USB 2.0.
На репку пролита прошивка 1.0.14
Установлен и настроен пакет nftables:
apt install nftables
systemctl enable nftables
vi /etc/nftables
#!/usr/sbin/nft -f
flush ruleset
table inet filter {
chain input {
type filter hook input priority filter; policy drop;
ct state established,related accept
ip protocol icmp accept
meta l4proto ipv6-icmp accept
iif { "lo", "eth0" } accept
iifname "wlan0" accept
iifname "enxd03745fc3890" accept
}
chain forward {
type filter hook forward priority filter; policy drop;
tcp flags syn tcp option maxseg size set rt mtu
ct state established,related accept
ip protocol icmp accept
meta l4proto ipv6-icmp accept
ip6 saddr { ::1, fc00::/7 } accept
ip saddr { 10.0.0.0/8, 100.64.0.0/10, 127.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 } accept
}
chain output {
type filter hook output priority filter; policy accept;
}
}
table inet nat {
chain prerouting {
type nat hook prerouting priority dstnat; policy accept;
}
chain postrouting {
type nat hook postrouting priority srcnat; policy accept;
ip6 saddr { ::1, fc00::/7 } oifname "enxd03745c256df" masquerade
ip saddr { 10.0.0.0/8, 100.64.0.0/10, 127.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 } oifname "enxd03745c256df" masquerade
}
}
Применена конфигурация nftables:
systemctl restart nftables
systemctl status nftables
nft list ruleset
Затем подключил ко второму гигабитному порту репки ноут, проверил что есть связь с внешней сетью (по отношению к репке) и NAT66 работает. Затем попробовал загрузить на ноут несколько увесистых файлов с ближайшего сервера:
В это-же время в htop на репке показывал следующее:
В итоге пиковая скорость передачи данных в режиме NAT66 составила 259 мегабит/сек (32.4 мегабайта/с) в одну сторону, установившаяся скорость составила 240 мегабит/с (30 мегабайт/сек) в одну сторону при суммарной пакетной скорости в 90 килопакетов/сек.
Загрузка CPU во время теста была менее 2%, т.к. репка вполне может перелопатить и более серьёзные сетевые нагрузки. Ограничивающим фактором вероятно является подсистема USB 2.0
Интересно будет посмотреть на следующие итерации репки.