Здравствуйте, прохожу курс “от 0 до Linux админа” на https://yodo.im/courses/linux/?v=1d20b5ff1ee9 и столкнулся с проблемой маршрутизации интернета с usb through через LAN используя NAT, маршруты и nftables.
У меня есть box, на котором я пытаюсь настроить маршрутизацию интернета с интерфейса end0 (192.168.1.6) на usb0 (с DHCP). Также на этой машине работает DNS и DHCP через Docker AdGuard, но после применения правил nftables я не могу получить доступ к их веб-интерфейсам. На данный момент, пинг по IP работает только с usb0.
Проблема в том, что я могу пинговать интернет через интерфейс usb0, но не могу с end0:
ping 8.8.8.8 -I usb0 ← работает
ping 8.8.8.8 -I end0 ← Destination Host Unreachable
Нужно ли мне настроить какие-либо статические маршруты, или nftables должны автоматически обрабатывать все маршруты? Перепробовал несколько руководств с различными правилами nftables, но они не работают.
Моя конфигурация сети:
usb0:
[Match]
Name=usb0
[Network]
DHCP=yes
end0:
[Match]
Name=end0
[Network]
Address=192.168.1.6/24
Мои настройки nftables:
table inet filter {
chain input {
type filter hook input priority filter; policy accept;
}
chain forward {
type filter hook forward priority filter; policy accept;
iif "end0" oif "usb0" accept
iif "usb0" oif "end0" accept
}
chain output {
type filter hook output priority filter; policy accept;
}
}
table ip nat {
chain prerouting {
type nat hook prerouting priority filter; policy accept;
}
chain postrouting {
type nat hook postrouting priority srcnat; policy accept;
oif "usb0" masquerade
}
}
Мои маршруты:
default via 192.168.102.208 dev usb0
default via 192.168.102.208 dev usb0 proto dhcp src 192.168.102.114 metric 1024
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown ← docker?
172.18.0.0/16 dev br-cc00a7d88795 proto kernel scope link src 172.18.0.1 ← docker?
192.168.1.0/24 dev end0 proto kernel scope link src 192.168.1.6
192.168.102.0/24 dev usb0 proto kernel scope link src 192.168.102.114 metric 1024
192.168.102.208 dev usb0 proto dhcp scope link src 192.168.102.114 metric 1024
Не могли бы вы подсказать, что я делаю не так и как исправить эту ситуацию? Спасибо!