Скажем, я хочу направить все запросы на google.com на localhost:333, как это сделать?
2 ответа
Shorewall маршруты. (FAQ)
Вы хотите перенаправить все локальные запросы на подключение к google.com на сервер, работающий в вашей локальной зоне по адресу 127.0.0.1 и прослушивающий порт 333. Ваш локальный интерфейс - eth1.
Отказ от ответственности; Я не сделал этого точно с Shorewall, поэтому изменил пример настройки сервера Squid:
Добавьте эту запись в ваш файл /etc /shorewall /provider.
#NAME NUMBER MARK DUPLICATE INTERFACE GATEWAY OPTIONS foo 1 202 - eth1 127.0.0.1 loose
В /etc /shorewall /tcrules добавьте:
#MARK SOURCE DEST PROTO DEST # PORT(S) 202:P net:google.com 0.0.0.0/0 tcp 80
В /etc /shorewall /interfaces:
#ZONE INTERFACE BROADCAST OPTIONS loc eth1 detect routeback
На локальном хосте выполните следующую команду после запуска сети
iptables -t nat -A PREROUTING -i eth0 -d ! 127.0.0.1 -p tcp --dport 80 -j REDIRECT --to-ports 333
Если вы просто хотите сделать это на одном компьютере, вы можете отредактировать:
/etc/hosts
и добавить
google.com 127.0.0.1
затем перезапустите сетевые сервисы
/etc/rc.d/init.d/network restart
Это перенаправит обычный веб-трафик на localhost:80.