@nikitadenisov
Увлекаюсь IT-технологиями

Настройка доступа из локальной сети во внешнюю, как правильно настроить NAT?

Приветствую.
Проблема следующая:
есть debian-сервер. появилось желание поставить на него SQUID. Поставил вторую сетевую карту.
Настроил сетевые интерфейсы(eth0 - смотрит в локальную сеть, eth1 - в Интернет). Вот конфиг /etc/network/interfaces
source /etc/network/interfaces.d/*

auto lo
iface lo inet loopback

allow-hotplug eth0

auto eth0
  iface eth0 inet static
    address 192.168.1.102
    netmask 255.255.255.0
    #gateway 192.168.1.102

auto eth1
  iface eth1 inet static
    address  xx.xx.xx.xx(статический адрес от провайдера)
    netmask  255.255.252.0
    gateaway xx.xx.xx.xx(шлюз провайдера)
    dns-nameservers xx.xx.xx.xx yy.yy.yy.yy(DNS сервера провайдера)
    hwaddress ether Mac адрес карты

post-up /etc/nat


Вот конфиг для iptables(записан скриптом, чтобы при перезагрузки правила автоматически применялись):
#!/bin/sh

# Включаем форвардинг пакетов
echo 1 > /proc/sys/net/ipv4/ip_forward

# Разрешаем трафик на loopback-интерфейсе
iptables -A INPUT -i lo -j ACCEPT

# Разрешаем доступ из внутренней сети наружу
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT

# Включаем NAT
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.1.0/24 -j MASQUERADE

# Разрешаем ответы из внешней сети
iptables -A FORWARD -i eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT

# Запрещаем доступ снаружи во внутреннюю сеть
iptables -A FORWARD -i eth1 -o eth0 -j REJECT


Также установлен dnsmasq. Там всё стандартно, менял только 1 параметр listen-address=127.0.0.1, 192.168.1.102
В сети есть DHCP сервер на dd-wrt роутере. Адреса компы получают с него. default gateway на роутере установлен 192.168.1.102(локальный адрес Debian сервера).

Интернета нет. С компьютеров в локальной сети пингуется локальный шлюз провайдера. До DNS провайдера пинг не доходит. Звонил в тех поддержку провайдера, сказали проблема у меня на стороне.
Кто может подсказать в чём дело?
  • Вопрос задан
  • 2304 просмотра
Пригласить эксперта
Ответы на вопрос 1
vvpoloskin
@vvpoloskin Куратор тега Компьютерные сети
Инженер связи
Ну так-то прокси и нат обычно никак не связаны, более того, их даже вредно связывать. Уберите вообще конфиг iptables из post-up.

Если все же нужен именно nat, тогда разберитесь в iptables, он настраивается не так, скопировать первый попавшийся скрипт из интернета не прокатит. Во-первых, в начале скрипта надо обнулить все цепочки (-F) и явно поставить политики по умолчанию (-P). Во-вторых, для lo разрешают и INPUT, и OUTPUT (а в определенных случаях и FORWARD). В-третьих, ну не работает iptables, ну уберите вы из него лишние reject-accept (две последние свои строки).

Попробуйте в ручную на каком-либо ПК поставить в DNS провайдера или 8.8.8.8 (лучше для проверки). если dnsmasq стоит на этом же сервере, значит надо еще как минимум разрешать доступы в цепочках INPUT, OUTPUT, возможно FILTER
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы