Как предоставить общий доступ к соединению на сервере Ubuntu без NAT
eth0: 192.168.10.156 eth1: 192.168.5.1
Я создаю сервер кэша с TPROXY (squid 3.1), но в моя сеть не будет использовать nat, поскольку для доставки IP publicos всем машинам. Во всех уроках, которые всегда соблюдались, конфигурация Ubuntu Server всегда использовала nat. Но нужна эта модель:
eth1 (192.168.5.1)> Он получает данные и передает их в eth0 (192.168.10.156 Интернет)
Squid выполняет свою обработку и возвращает данные в сеть. !
Это работает с Nat, но не хочет использовать NAT, потому что конфигурация Squid с TPROXY (Transparent> Ip Client, который должен появиться в Интернете, а не Squid "будет NAT")
. В вопросе приведено очень мало информации, поэтому я предполагаю следующее:
На следующих этапах все устройства осведомлены о различных сетях и маршрутах, все это выполняется с помощью обычной сети IPv4 и с использованием таблицы маршрутизации Linux. Необходимо включить пересылку на общий компьютер, так как это по умолчанию не позволит вам сделать это (по соображениям безопасности).
Затем выполните следующие (общие) шаги:
На текущем NAT (маршрутизаторе) добавьте статический маршрут:
192.168.5.0
/ 24 через 192.168.10.156
. Я не знаю, какое у вас устройство, поэтому не могу предоставить инструкции для этого. Прочитайте руководство к нему.
Если на этом маршрутизаторе уже запущена Ubuntu, просто добавьте маршрут следующим образом:
route add -net 192.168.5.0/24 gw 192.168.10.156
На ПК, к которому вы хотите подключиться к сети 192.168.5.0
/ 24, сделайте уверен, что он будет перенаправлять трафик:
sysctl -w net.ipv4.ip_forward=1
Подробнее в этот ответ .
На клиентском ПК укажите маршрут к сети 192.168.10.0
/ 24, добавив его в таблицу маршрутов:
route add -net 192.168.10.0/24 gw 192.168.5.1
В принципе, то, что вы хотите сделать, это NAT. Действие по передаче внутренних сетевых запросов в Интернет и преобразованию их в один внешний IP-адрес для запроса вашего интернет-провайдера является функцией NAT.
Я думаю, что вам не нужно использовать iptables, и это нехорошо из-за соображений безопасности. По крайней мере, маскарад, который вам нужно использовать.
на /etc/init.d/rc.local добавьте код:
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 192.168.5.0/24 -o eth0 -j MASQUERADE
это может помочь вам без слишком большого количества кодов.