Я пытаюсь перенаправить любые пакеты на порт 80 с любого интерфейса на мой прокси-сервер SOCKS ( Сервер ). Я не уверен, правильно ли он настроен, но я не могу заставить его пересылать пакеты.
Я создаю прокси-сервер SOCKS, как на машине A :
ssh -D 5948 user@server
Это позволяет мне получать доступ в Интернет через прокси-сервер SOCKS, если я изменяю настройки прокси-сервера в Chrome.
Это нормально, за исключением того, что я подключаю устройство ( Устройство B ) к Машине A с помощью Bluetooth, и я хочу получить доступ к Интернету через прокси-сервер SOCKS с этого устройства, проходящего через мой машина.
+---------------+ +---------------+ +--------------+
| | | | | |
| | | | | |
Internet | Server <----+ Machine A <----+ Device B |
| | | | | |
| | | | | |
+---------------+ +---------------+ +--------------+
Connected via Bluetooth
Соединение и общий доступ к Интернету через Bluetooth работают нормально, за исключением того, что вместо прокси-сервера SOCKS используется мой интернет-провайдер.
Вместо этого я хочу использовать pf
для пересылки любого пакета с любого интерфейса на порт 80 на мой прокси-сервер SOCKS.
Я попытался это сделать, создав файл привязки со следующим:
rdr pass inet proto tcp from any to any port 80 -> 127.0.0.1 port 5948
Я включил привязку в pf.conf
и включил пересылку на всех интерфейсах следующим образом:
net.inet.ip.forwarding=1
net.inet6.ip6.forwarding=1
Пересылка не ' Это происходит, и я могу только предположить, что мое правило pf
неверно. Я проверил это с помощью:
sudo pfctl -vnf /etc/pf.anchors/org.jj.forwarding
Есть идеи, где я ошибаюсь?
Поскольку вы включили пересылку, добавление следующего правила iptable должно работать
iptables -t nat -A PREROUTING -i bl1 -p tcp --dport 80 -j DNAT --to 127.0.0.1: 5948
bl1 - это ваш интерфейс bluetooth