Эта цитата должна объяснить мне, как это сделать, но я не понимаю ...

Затем я добавил следующие правила для пересылки всех http-запросов (поступающих на порт 80) на порт 3128 сервера Squid:

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to 192.168.1.1:3128
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

с

iptables -t nat -A PREROUTING -i venet0 -p tcp --dport 80 -j DNAT --to 127.0.0.1:3128
iptables -t nat -A PREROUTING -i venet0:0 -p tcp --dport 80 -j REDIRECT --to-port 3128

Это должно работать, но это не так. Мои iptables пусты, и /etc/network/interface выглядит следующим образом:

auto lo
iface lo inet loopback
    address 127.0.0.1
    netmask 255.0.0.0
    broadcast 127.255.255.255
    up ip route replace 127.0.0.0/8 dev lo
# Auto generated venet0 interfaces
auto venet0
iface venet0 inet static
    address 127.0.0.1
    netmask 255.255.255.255
    broadcast 0.0.0.0
    up route add default dev venet0
iface venet0 inet6 static
    address ::2
    netmask 128
    up ip -6 r a default dev venet0
    up ip addr add {...externalIPv6...} dev venet0
auto venet0:0
iface venet0:0 inet static
    address {...externalIP...}
    netmask 255.255.255.255

1 ответ1

0

Я начну это как ответ, событие, хотя это не так (пока, надеюсь). Причина, по которой я это делаю, заключается в том, что я считаю, что для решения этой проблемы потребуется несколько итераций.

Вы, правила iptables, выглядите нормально для меня, но, по моему мнению, ваш файл /etc /network /interfaces имеет несколько проблем. Вы скопировали это откуда-то или адаптировали к вашим потребностям?

Проблемы, которые я вижу:

  1. Зачем указывать петлевой интерфейс? Обычно первые две строки строфы в порядке.
  2. Вы назначаете два адреса одному интерфейсу venet0.
  3. Маска подсети для первого раздела venet0 слишком ограничена и несовместима с широковещательным адресом.
  4. Вашему второму разделу для venet0 назначены два адреса: ваш внешний IPv6-адрес и :: 2.
  5. В строфе для venet0 сетевая маска слишком ограничительна.
  6. В том же интерфейсе, venet0/venet0: 0, назначены как петлевые, так и внешние адреса, в чем смысл?

Было бы полезно, если бы вы сказали нам, что вы пытаетесь сделать с VMWare, сейчас я в растерянности.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .