Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Black
Зарегистрирован: 11.07.2002 Сообщения: 27 Откуда: Саратов
|
Добавлено: Вт Сен 09 2003 08:57 Заголовок сообщения: iptables: хочу что бы из нета было видно локальную машну |
|
|
есть сетка, а в ней компутер с SCO Unix (192.168.1.240), так же в ней есть сервер в качестве которого выступает Linux (eth0 192.168.1.1, eth1 x.x.x.x), где х.х.х.х - IP адрес линуха в нете (выдан провайдером). Есть приложение под виндовс которые работают с SCO Unix по 3274 порту. Хочу что бы приложение могло работать из рунета с Unix, причем в настройках приложения был установлен ип адрес (х.х.х.х), т.е. через линукс. вот что я уже сделал: iptables -t nat -A PREROUTING -p tcp -d x.x.x.x -dport 3274 -j DNAT --to-destination 192.168.1.240 iptables -t nat -A POSTROUTIN -p tcp -s 192.168.1.240 -sport 3274 -j SNAT --to-source x.x.x.x
однако не работает. даже пробывал по примеру из iptables tutorial 1.1.19 делать... результат тотже Connection to x.x.x.x:3274 FAILED З.Ы. помогите новичку кто чем может плз. |
|
Вернуться к началу |
|
|
bss Гость
|
Добавлено: Вт Сен 09 2003 14:51 Заголовок сообщения: скромное мнение(+) |
|
|
вот это вот вроде правильно
iptables -t nat -A PREROUTING -p tcp -d x.x.x.x -dport 3274 -j DNAT --to-destination 192.168.1.240
а вот здесь
iptables -t nat -A POSTROUTIN -p tcp -s 192.168.1.240 -sport 3274 -j SNAT --to-source x.x.x.x
я бы убрал -sport 3274
тоесть вот так
iptables -t nat -A POSTROUTIN -p tcp -s 192.168.1.240 -j SNAT --to-source x.x.x.x
попробуй и напиши что получится |
|
Вернуться к началу |
|
|
Sol Гость
|
Добавлено: Ср Сен 10 2003 06:38 Заголовок сообщения: nat -это всё таки просто таблицы преобразования.. Наверное нужно ещё октрыть порты и сделать форвард.. (-) |
|
|
- |
|
Вернуться к началу |
|
|
Black
Зарегистрирован: 11.07.2002 Сообщения: 27 Откуда: Саратов
|
Добавлено: Ср Сен 10 2003 10:09 Заголовок сообщения: Re: nat -это всё таки просто таблицы преобразования.. Наверное нужно ещё октрыть порты и сделать форвард.. (-) |
|
|
2bss --sport 3274 убрал результат не изменился... 2sol - порт вроде бы открыл.... а что ты имеешь в виду по словом "сделать формвар"? echo 1 > /proc/sys/net/ipv4/ip_forward? |
|
Вернуться к началу |
|
|
bss Гость
|
Добавлено: Ср Сен 10 2003 13:12 Заголовок сообщения: А ты можешь показать правила файрвола(+) |
|
|
в таблице фильтер должно быть разрешено прохождение пакетов к 192.168.1.240:3274 а также ответный трафик с 192.168.1.240 причем с любого порта |
|
Вернуться к началу |
|
|
Black
Зарегистрирован: 11.07.2002 Сообщения: 27 Откуда: Саратов
|
Добавлено: Ср Сен 10 2003 13:35 Заголовок сообщения: Re: А ты можешь показать правила файрвола(+) |
|
|
вот мои правила (нужный фрагмент "открываем порт для CBS") #!/bin/sh
###################################### ################################# # # 1. Постоянные #
INET_IP="Х.Х.Х.Х" INET_IFACE="eth1"
LAN _IP="192.168.1.1" LAN_IFACE="eth0" LAN_IP_RANGE="192.168.1 .0/24"
CBS_IP="192.168.1.240" CBS_PORT="3274"
####### ############################################################ ### # # 2. Инициализация системы #
echo " -----------------------------" echo " Загружаем IPTables правила"
#Очищаем все правила iptables -t nat -F iptables -F
#Open ports (открываем все порты в мир) для пользователей локальной сети. #ICMP (ping) MASQ iptables -t nat -A POSTROUTING -s $LAN_IP_RANGE -p icmp -o $INET_IFACE -j MASQUERADE iptables -t nat -A POSTROUTING -s $LAN_IP_RANGE -p tcp -o $INET_IFACE -j MASQUERADE #END
#Делаем перенаправление 80-го порта на 3128 iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 3128
#Открываем порт для CBS (еще не работает!!!) iptables -t nat -A PREROUTING -p tcp -d $INET_IP --dport $CBS_PORT -j DNAT --to-destination $CBS_IP iptables -t nat -A POSTROUTING -p tcp -s $CBS_IP -j SNAT --to-source $INET_IP iptables -A INPUT -p tcp -i $LAN_IFACE --dport $CBS_PORT -j ACCEPT
#DNS port MASQ only for proxy caching DNS(открываем порты для ДНС сервера провайдера) iptables -t nat -A POSTROUTING -s $LAN_IP_RANGE -p tcp --dport 53 -o $INET_IFACE -j MASQUERADE iptables -t nat -A POSTROUTING -s $LAN_IP_RANGE -p udp --dport 53 -o $INET_IFACE -j MASQUERADE #END
#MASQ All #Открываем все порты по всем протоколам для пользователей локальной сети iptables -t nat -A POSTROUTING -s $LAN_IP_RANGE -o $INET_IFACE -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward #END
echo " Загрузили" echo " -----------------------------" echo ""
###################################################### ######################### # # 2. Дополнительно # echo " ------------------------------------------------------------ " echo " Для возможности монтирования новеловских дисков делаем следующее" ipx_interface add -p eth0 802.3 echo " ------------------------------------------------------------ " echo ""
echo " -----------------------------" echo " Запускаем Squid proxy..." squid -d 9 echo " Запустили" echo " -----------------------------" echo "" |
|
Вернуться к началу |
|
|
bss Гость
|
Добавлено: Ср Сен 10 2003 18:06 Заголовок сообщения: Некоторые замечания(+) |
|
|
1) у тебя же статические ip поэтому как мне кажется лучьше везде вместо действия MASQUERADE применять SNAT!!! 2) iptables -t nat -A PREROUTING -p tcp -d $INET_IP --dport $CBS_PORT -j DNAT --to-destination $CBS_IP iptables -t nat -A POSTROUTING -p tcp -s $CBS_IP -j SNAT --to-source $INET_IP вот это вроде правильно
iptables -A INPUT -p tcp -i $LAN_IFACE --dport $CBS_PORT -j ACCEPT а вот сдесь похоже и кроется ошибка этим правилом ты принимаешь все пакеты (почему-то с $LAN_IFACE а не с INET_IFACE !!!)адресованные на порт $CBS_PORT) но делаешь ты это почему-то в цепочке input таблицы filter!!! туда эти пакеты точно не попадают так как после выполнения над пакетом действия DNAT в цепочке PREROUTING таблицы nat, пакет попадает в цепочку FORWARD !!! таблицы filter поэтому правило должно выглядеть так iptables -A FORWARD -p tcp -i $INET_IFACE -d $CBS_IP --dport $CBS_PORT -j ACCEPT
и еще может ты не все написал или я просмотрел но я не увидел здесь правила которое бы в таблице филтер разрешало ответный трафик
выглядеть должно приблизительно так iptables -A FORWARD -p tcp -i $LAN_IFACE -s $CBS_IP -j ACCEPT
попробуй и напиши че получилось ... интересно же пока больше ниче не вижу счас некогда попозже еще посмотрю |
|
Вернуться к началу |
|
|
Black
Зарегистрирован: 11.07.2002 Сообщения: 27 Откуда: Саратов
|
Добавлено: Чт Сен 11 2003 13:53 Заголовок сообщения: Re: Некоторые замечания(+) |
|
|
спасибо за замечания. с input'ом я действительно загнался... :о)
iptables -A FORWARD -p tcp -i $LAN_IFACE -s $CBS_IP -j ACCEPT я тоже добавил, однако все рано результата никакого.
может быть дело не в правилах а действительно в чем нить другом? есть какие-нить предположения? :-/ |
|
Вернуться к началу |
|
|
bss Гость
|
Добавлено: Чт Сен 11 2003 14:02 Заголовок сообщения: слушай ну могет быть(+) |
|
|
эта твоя совтина через нат работать не умеет. а нет возможности поставить скажем апач, на нем можно будет добиться чтобы все заработало а потом поменять порты и уже смотреть че там происходит. |
|
Вернуться к началу |
|
|
|