Перенаправление всего IP-трафика через USB-порт на фиксированный адрес

Я немного новичок в сети, поэтому извиняюсь за неточный словарь.

Скажем, у меня есть устройство, подключенное через IP через USB к моему компьютеру (работает Ubuntu), который подключается к 10.0.0.1. Я настроил свой Wi-Fi Ubuntu через USB, так что IP-адрес моего компьютера на этом соединении 10.0.0.1, но я бы действительно хотел перенаправить весь трафик (на всех портах) на другой сервер и просто использовать мой компьютер в качестве прокси.

Я играл с некоторыми решениями, но мое незнание сетевых концепций замедляет меня (я трачу слишком много времени на поиск вещей, и документации часто не хватает). Я даже не уверен, хочу ли я настроить прокси-сервер, брандмауэр (я так не думаю) или использовать таблицы маршрутизации. То, что я хочу сделать, звучит довольно просто («перенаправлять все, что поступает от IP через USB на этот сервер»). Так есть стандартный способ сделать это? Iptables? кальмар? UFW?

То, о чем вы просите, называется NAT , NAT сетевых адресов. Существует ряд инструментов, которые могут обеспечить функциональность NAT, но на уровне IP-адреса это, вероятно, проще всего с iptables:

  iptables -t nat -I PREROUTING -d 10.0.0.1 --j DNAT --to 10.xxx 

в специальной таблице nat iptables -t nat вставьте первое правило в цепочку PREROUTING ( -I PREROUTING ), предоставляя пункт назначения nat -j DNAT где IP-адрес входящего адреса должен быть 10.0.0.1 ( -d 10.0.0.1 ) на хост 10.xxx ( --to 10.xxx ).

Вам также может потребоваться включить IP-аудит, поэтому ваш хост выступает в роли сетевого маршрутизатора:

 sysctl -w net.ipv4.ip_forward=1 

И это должно быть! (Так же просто, как вы думали, что это может быть!)

О, и оба они должны запускаться как пользователь root, или через sudo (если у вас есть доступ для запуска этих команд через sudo!)