Когда я использую приведенную ниже команду, я могу перенаправить с порта 3000 на порт 80, но мне нужно перенаправить на порт 80, когда запрос для любого другого порта.
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3000
В Вашем примере Вы перенаправляете трафик, который прибывает в eth0 через tcp и прибывает в порт 80(!) для портирования 3000(!), таким образом, это наоборот! Для передачи всего трафика для портирования 3000 просто удалите - dport 80 (-средства опции dport 80: примените это правило только к пакетам, которые отправляются для портирования 80):
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp -j REDIRECT --to-port 3000
вышеупомянутая команда описывает правило, в котором говорится: весь трафик в eth0 (Ваша сетевая плата), который использует tcp протокол (-p (rotocol) tcp) должен быть перенаправлен (-j ПЕРЕНАПРАВЛЕНИЕ) для портирования 3000.
Для передачи всего трафика для портирования 80 (как Вы первоначально спрошенный, но наоборот, чем в Вашем примере, просто удаляют 3000 и вставляют 80 вместо этого.