Я хочу настроить свою систему OSX так, чтобы весь сетевой трафик проходил через туннель SSH.
Я написал небольшой сценарий для этой цели, и это команды, которые он выполняет:
// setup tunnel
ssh -fN -D 1080 -p 22 user@remote
// start up redsocks
sudo redsocks -c /tmp/redsocks.conf -p /tmp/redsocks.pid
// forward all tcp traffic to tunnel
sudo ipfw add 0010 fwd 127.0.0.1,12345 tcp from me to any not dst-port 12345 not dst-port 1080 not dst-ip REMOTE_IP
Я использую redsocks для создания http-прокси для моего ssh-туннеля (чтобы я мог перенаправить весь tcp-трафик на него через ipfw), redsocks.conf выглядит так:
base {
log_debug = on;
log_info = on;
log = "file:/tmp/redsocks.log";
redirector = generic;
}
redsocks {
local_ip = 127.0.0.1;
local_port = 55660;
ip = 127.0.0.1;
port = 1080;
type = socks4;
}
Кажется, что пока все работает, весь трафик TCP в моей системе OSX проходит через туннель ssh, но проблема в трафике UDP, и из-за этого не работают DNS-запросы.
Как я могу получить DNS на своем локальном компьютере для работы через туннель SSH?