Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Перестал работать ip forwarding  (Прочитано 3860 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн wed

  • Автор темы
  • Участник
  • *
  • Сообщений: 110
  • я вас подозреваю...
    • Просмотр профиля
Перестал работать ip forwarding
« : 05 Августа 2009, 13:49:38 »
Есть шлюз (комп) под Ubuntu 9.04
Шлюз подключен двумя сетевыми картами к локальной сети 192.168.0.0/24 и к инету 62.106.x.x

Поднят сквид с непрозрачным прокси.

Всё работало прекрасно: браузеры ходили в инет через сквид, оутлуки и всякие клиент-банки напрямую.
Сегодня после перезагрузки все программы ходящие в инет напрямую (оутлук, клиент-банк) отказались соединяться. При этом браузеры (и аська) через прокси в инет идут без проблем. В общем похоже,что перестал работать форвардинг.

Настройки Iptables не менялись.
Вот они (адреса скрыты, безопасность понимаешь  ;) ):
--------------------------------------------------------------------------------------------
INET_IFACE="eth2" # имя инет-интерфейса
INET_IP="62.106.х.х" #IP инет-интерфейса

DNS_SERVER1="х.х.х.х"
DNS_SERVER2="х.х.х.х"

LAN_IFACE="eth0" #имя локального интерфейса
LAN_IP="192.168.0.х" #IP локального интерфейса
LOCAL_NET="192.168.0.0/24" #локальная сеть

SERVER_RDP="192.168.0.х" #Терминальный сервер

THB_SERVER="х.х.х.х"

UNPRIVPORTS="1024:65535"

LO_IFACE="lo"
LO_IP="127.0.0.1"
IPTABLES="/sbin/iptables"

/sbin/depmod -a
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_mangle
/sbin/modprobe iptable_nat
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_limit
/sbin/modprobe ipt_state



#сбрасываем настройки всех таблиц
$IPTABLES -F INPUT
$IPTABLES -F FORWARD
$IPTABLES -F OUTPUT
$IPTABLES -t nat -F
$IPTABLES -F
$IPTABLES -X

#политика по-умолчанию. применяется, если не сработало ни одно правило.
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP

#Разрешаем пинг
$IPTABLES -A FORWARD -p icmp -j ACCEPT
$IPTABLES -A INPUT -p icmp -j ACCEPT

#Разрешаем RDP (порт 3389) из инета
$IPTABLES -A INPUT -p TCP -d $INET_IP --dport 3389 -j ACCEPT

#Разрешаем SSH (порт 22) из инета
$IPTABLES -A INPUT -p TCP -d $INET_IP --dport 22 -j ACCEPT


#Прямо дропаем пакеты NEW, но без флага --syn - отбиваем запрос на установку соединения.
$IPTABLES -A INPUT -p TCP ! --syn -m state --state NEW -j DROP

#Явный бан всех запросов на соединение из инета, кроме RDP(порт 3389) и HTTP
$IPTABLES -A INPUT -p TCP -d $INET_IP  --syn --dport ! 3389 -j DROP
$IPTABLES -A INPUT -p TCP -d $INET_IP  --syn --dport ! 22 -j DROP


#Перенаправляем подключение по RDP на терминальный сервер, затем разрешаем туда ходить клиентам
$IPTABLES -t nat -A PREROUTING -d $INET_IP -p TCP --dport 3389 -j DNAT --to-destination $SERVER_RDP:3389
$IPTABLES -A FORWARD -p TCP -d $SERVER_RDP --dport 3389 -j ACCEPT

#Разрешаем порт RDP(порт 3389) из локалки на любой терминал-сервер в инете
$IPTABLES -A FORWARD -p TCP -s $LOCAL_NET -o $INET_IFACE --dport 3389 -j ACCEPT

#Разрешаем порт 80 и 4433 из локалки на сервер банка (клиент-банк)
$IPTABLES -A FORWARD -p TCP -s $LOCAL_NET -d $THB_SERVER --dport 80 -j ACCEPT
$IPTABLES -A FORWARD -p TCP -s $LOCAL_NET -d $THB_SERVER --dport 4433 -j ACCEPT

#Открываем для локальной сети доступ к шлюзу из локальной сети без ограничений
$IPTABLES -A INPUT -p  ALL -s $LOCAL_NET  -d $LAN_IP  -j ACCEPT

#Даем инет пользователям (через прокси)
#То есть разрешаем уже установленные входящие подключения на не зарезервированные порты
$IPTABLES -A INPUT -d $INET_IP -p TCP --dport $UNPRIVPORTS -m state --state ESTABLISHED,RELATED -j ACCEPT


#Разрешить DNS для прокси и для локалки.
#Форвардим запросы на ДНС провайдера
$IPTABLES -A INPUT -p UDP -s $DNS_SERVER1 -m state --state ESTABLISHED --sport 53 -j ACCEPT
$IPTABLES -A INPUT -p TCP -s $DNS_SERVER1 --sport 53 --dport $UNPRIVPORTS -m state --state ESTABLISHED -j ACCEPT
$IPTABLES -A INPUT -p UDP -s $DNS_SERVER2 -m state --state ESTABLISHED --sport 53 -j ACCEPT
$IPTABLES -A INPUT -p TCP -s $DNS_SERVER2 --sport 53 --dport $UNPRIVPORTS -m state --state ESTABLISHED -j ACCEPT

$IPTABLES -A FORWARD -p UDP -s $LOCAL_NET -d $DNS_SERVER1 --dport 53 -j ACCEPT
$IPTABLES -A FORWARD -p UDP -s $DNS_SERVER1 -d $LOCAL_NET --sport 53 -m state --state ESTABLISHED -j ACCEPT
$IPTABLES -A FORWARD -p TCP -s $LOCAL_NET -d $DNS_SERVER1 --dport 53 -j ACCEPT

$IPTABLES -A FORWARD -p UDP -s $LOCAL_NET -d $DNS_SERVER2 --dport 53 -j ACCEPT
$IPTABLES -A FORWARD -p UDP -s $DNS_SERVER2 -d $LOCAL_NET --sport 53 -m state --state ESTABLISHED -j ACCEPT
$IPTABLES -A FORWARD -p TCP -s $LOCAL_NET -d $DNS_SERVER2 --dport 53 -j ACCEPT

#Почта из локалки напрямую в инет.
$IPTABLES -A FORWARD -s $LOCAL_NET -o $INET_IFACE -p TCP --dport 110 -j ACCEPT
$IPTABLES -A FORWARD -s $LOCAL_NET -o $INET_IFACE -p TCP --dport 25 -j ACCEPT

#Разрешаем уже установленные соединения.
#Выше было разрешено только обращаться во вне из локальной сети,
#но надо же чтобы и ответы на запросы доходили,
#то есть даем в локалку терминал-сервер, днс, почту и терминал,
#все остальное либо через прокси, либо никак
$IPTABLES -A FORWARD -p TCP -m state --state ESTABLISHED,RELATED -m multiport --sport 53,110,25,3389,4433,44333,80,5190 -j ACCEPT

#Разрешаем нашему прокси-серверу устанавливать соединения,
#а так же чтоб "внутри все ходило"
$IPTABLES -A INPUT -p ALL -s 127.0.0.1 -i lo -j ACCEPT
$IPTABLES -A INPUT -p ALL -s $LAN_IP -i lo -j ACCEPT
$IPTABLES -A INPUT -p ALL -s $INET_IP -i lo -j ACCEPT

$IPTABLES -A OUTPUT -p ALL -d 127.0.0.1 -o lo -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -s $INET_IP -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -s $LAN_IP -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -s 127.0.0.1 -j ACCEPT


#Включаем НАТ
$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j SNAT --to-source $INET_IP

#включаем формардинг из локальной сети
echo "1" > /proc/sys/net/ipv4/ip_forward
--------------------------------------------------------------------------------------------

Пробовал включать форвардинг в /etc/sysctl.conf  установкой net.ipv4.ip_forward=1 - безрезультатно.

Пробовал убирать все правила в iptables и разрешать всё - тоже нет эффекта.

Уже не знаю куда смотреть :(

Есть подозрение, что это произошло после обновления, ведь раньше тоже были перезагрузки и всё работало. Обновление стандартное - из репозитория.

Сейчас ядро 2.6.28-14-generic
Пробовал на 13ом ядре.
« Последнее редактирование: 05 Августа 2009, 14:14:09 от wed »
А счастье было так близко....

Оффлайн kijinga

  • Любитель
  • *
  • Сообщений: 69
  • 気乗りする
    • Просмотр профиля
Re: Перестал работать ip forwarding
« Ответ #1 : 05 Августа 2009, 16:29:44 »
У меня тоже похожая проблемма, только немного в другом плане.
Две сетки 1.0 и 3.0, их соединяют два шлюза Шлюз1 (192.168.1.202 и 192.168.254.1) Шлюз2(192.168.254.2 и 192.168.3.100).
Между шлюзами OpenVPN (http://lug-wiki.nnov.ru/index.php/Openvpn), из сетки 1.0 пинг доходит только до Шлюза2, и там теряется (Tracert-ом проверял), причем вторая сетевая карта на шлюзе2 пингуется спокойно, т.е. шлюз получает пакет в сетку 3.0, но в локалку его не пускает.
Если в обратку с 3.0 на 1.0 - та же история. Чего-то не хватает видимо, но чего? ???

Форвардинг в /etc/sysctl.conf  установкой net.ipv4.ip_forward=1 - Работает четко.
iptables - пускает все
Почему пакеты тормозятся на шлюзах?

Буду следить за этой темкой, может кто и подскажет

Оффлайн Astronomik

  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: Перестал работать ip forwarding
« Ответ #2 : 21 Августа 2009, 14:04:37 »
Аналогичная проблема. Перестал работать форвардинг. Но перестал работать интересно. Токаое ощущение что режется все где-то в районе фаерволла. между сегментами сети работает только фтп... может кто подскажет, что происходит? Страшно систему обновлять...

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: Перестал работать ip forwarding
« Ответ #3 : 21 Августа 2009, 14:05:23 »
sudo iptables-save
Вывод читать до просветления.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн kijinga

  • Любитель
  • *
  • Сообщений: 69
  • 気乗りする
    • Просмотр профиля
Re: Перестал работать ip forwarding
« Ответ #4 : 28 Августа 2009, 14:24:02 »
Забыл упомянуть, ip tables у меня вообще не используются - т.е. разрешены любые пакеты (теперь), т.к. защита не нужна, связь по локалке через VPN.
Проблемма оказалась в недальновидной версии офисного касперского. Его антихакер даже при отключенном (!!!?) касперском резал другую подсеть.
Решил проблемму добавлением в антихакер зоны 3.0 как локальной, собственно все )))).
ip tables не изучал досканально, так что не смогу ничего подсказать вам внятного по этому вопросу :-\

 

Страница сгенерирована за 0.018 секунд. Запросов: 20.