Раздача интернета в обход прокси-сервера

В своё время столкнулся с такой проблемой: не работали почтовые клиенты через прокси-сервер. Конечно можно почту проверить и через браузер, но это не всегда удобно. Начал занимался поисками решения данной проблемы. Перечитал кучу литературы, перепробовал кучу вариантов настроек, пока не нашел нужный вариант. Выкладываю сюда, как я это делал.

Значит имею шлюз с двумя сетевыми картами. На него установлена операционная система Alt Linux 5.0.1 Master. Одна сетевая карта (eth1) смотрит в интернет, другая (eth0) — в локальную сеть.

Теперь предположим что eth1 имеет следующие значения:

  • IP-адрес — 10.56.15.162
  • маска — 255.255.255.224
  • шлюз — 10.56.15.161
  • DNS — 10.0.1.1 и 10.0.1.2

Для eth0 зададим такие параметры:

  • IP-адрес — 192.168.1.1
  • маска — 255.255.255.0

Теперь открываем консоль и набираем

# iptables -F
# iptables -A POSTROUTING -t nat -j MASQUERADE -o eth1
# iptables -P FORWARD ACCEPT
# sysctl -w net.ipv4.ip_forward=1
# service iptables save
# service iptables restart

Все, шлюз работает.

Дальше на компьютере, который хотим пустить в интернет задаём такие параметры:

  • IP-адрес — 192.168.1.2
  • маска — 255.255.255.0
  • шлюз — 192.168.1.1
  • DNS — 10.0.1.1 и 10.0.1.2

Вот в принципе и все. Данная схема так же проверена на Alt Linux 5.0.2 Master и Ubuntu 10.04.

Так же можно настроить iptables следующим образом
# iptables -F
# iptables --flush
# iptables --table nat --flush
# iptables --delete-chain
# iptables --table nat --delete-chain
# iptables -A FORWARD -i eth1 -o eth0 -s 192.168.1.0/24 -m conntrack --ctstate NEW -j ACCEPT
# iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
# iptables -A POSTROUTING -t nat -j MASQUERADE
# service iptables save
# service iptables restart

Добавить комментарий