zulu_gluk 23 Опубликовано: 2004-12-20 14:40:30 Share Опубликовано: 2004-12-20 14:40:30 Мужики помогите: нужно на время открыть доступ к апачу, который стоит на машине, находящейся за шлюзом. Эта машина имеет адрес 192.168.100.210. На шлюзе также установлен апач, который на время осуществелия данной операции должен работать в нормальном режиме. Вот настроики моего файера на шлюзе: #!/bin/bash echo 1 > /proc/sys/net/ipv4/ip_forward # forwarding paketov (esli eshe ne vkliu4en) IPT="/sbin/iptables" ext_ip="ххх.ххх.ххх.ххх" int_ip="192.168.100.200" ext_if="eth1" int_if="eth0" ## Clear all rules $IPT -t filter -F $IPT -t filter -X $IPT -t nat -F $IPT -t nat -X $IPT -t filter -P INPUT DROP $IPT -t filter -P FORWARD DROP $IPT -t filter -P OUTPUT ACCEPT $IPT -t nat -P PREROUTING ACCEPT $IPT -t nat -P POSTROUTING ACCEPT $IPT -t nat -P OUTPUT ACCEPT ## lo # dobavliaem sebia v rules $IPT -t filter -A INPUT -d 127.0.0.1 -j ACCEPT ## DNS # Pozvoliaen DNS prohodit' $IPT -t filter -A INPUT -p tcp --dport 53 -j ACCEPT $IPT -t filter -A INPUT -p udp --dport 53 -j ACCEPT $IPT -t filter -A INPUT -p tcp --sport 53 -j ACCEPT $IPT -t filter -A INPUT -p udp --sport 53 -j ACCEPT #SMTP from Internet $IPT -t filter -A INPUT -p tcp -i $ext_if --dport 25 -j ACCEPT ## Squid $IPT -t filter -A INPUT -p tcp -i $ext_if -m state --state ESTABLISHED --state RELATED -j ACCEPT ## SSH $IPT -t filter -A INPUT -p tcp --dport 22 -j ACCEPT $IPT -t filter -A OUTPUT -p tcp --sport 22 -j ACCEPT ## Avtorizator $IPT -t filter -A INPUT -p udp -d $ext_ip --dport 5555 -j REJECT $IPT -t filter -A OUTPUT -p udp -s $ext_ip --sport 5555 -j REJECT $IPT -t filter -A INPUT -p udp -d $ext_ip --sport 5555 -j REJECT $IPT -t filter -A OUTPUT -p udp -s $ext_ip --dport 5555 -j REJECT $IPT -t filter -A INPUT -p udp -d $int_ip --dport 5555 -j ACCEPT $IPT -t filter -A INPUT -p udp --sport 5555 -d $int_ip -j ACCEPT ## Configurator $IPT -t filter -A INPUT -p tcp -d $int_ip --dport 5550 -j ACCEPT $IPT -t filter -A INPUT -p tcp -d $int_ip --sport 5550 -j ACCEPT $IPT -t filter -A INPUT -p tcp -d $ext_ip --dport 5550 -j REJECT $IPT -t filter -A INPUT -p tcp -d $ext_ip --sport 5550 -j REJECT ## Ping $IPT -t filter -A INPUT -p icmp -j ACCEPT $IPT -t filter -A OUTPUT -p icmp -j ACCEPT ## Apache $IPT -t filter -A INPUT -p tcp --dport 80 -j ACCEPT $IPT -t filter -A INPUT -p tcp --sport 80 -j ACCEPT Пробовал сделать: iptables -t nat -A PREROUTING -p tcp -i eth1 --dport 95 -j DNAT --to 192.168.100.210:80 iptables -A FORWARD -d 192.168.100.210 -j ACCEPT iptables -A FORWARD -s 192.168.100.210 -j ACCEPT iptables -t nat -A POSTROUTING -s 192.168.100.210 -j SNAT --to-source $ext_ip Но что-то это не помогает. При вводе в браузер www.mysite.net:95 вылетает ошибка. Что я пропустил? Ссылка на сообщение Поделиться на других сайтах
S_ergey 21 Опубліковано: 2004-12-20 14:59:20 Share Опубліковано: 2004-12-20 14:59:20 Я делал по этой статье все работает. http://www.opennet.ru/base/net/dnat_linux.txt.html Ссылка на сообщение Поделиться на других сайтах
stg-34 0 Опубліковано: 2004-12-20 15:02:44 Share Опубліковано: 2004-12-20 15:02:44 Отца русской демократии спасает DNAT http://gazette.lrn.ru/rus/articles/iptable...html#DNATTARGET Там как раз про это Ссылка на сообщение Поделиться на других сайтах
zulu_gluk 23 Опубліковано: 2004-12-20 15:45:24 Автор Share Опубліковано: 2004-12-20 15:45:24 Отца русской демократии спасает DNAT Конечно спасет. Я его и пытался использовать: iptables -t nat -A PREROUTING -p tcp -i eth1 --dport 95 -j DNAT --to 192.168.100.210:80 Но что-то нихрена не работает Ссылка на сообщение Поделиться на других сайтах
Гость Guest Опубліковано: 2004-12-20 16:56:46 Share Опубліковано: 2004-12-20 16:56:46 А с DNS все впорядке пробовал проверить http://real_ip:95 Ссылка на сообщение Поделиться на других сайтах
Гость Guest_Quarcel Опубліковано: 2004-12-20 18:34:08 Share Опубліковано: 2004-12-20 18:34:08 iptables -t nat -A PREROUTING -p tcp -i eth1 --dport 95 -j DNAT --to 192.168.100.210:80 Но что-то нихрена не работает 1) нужно обязательно писать http т.е.: http://www.mysite.net:95 2) на серваке на который пробрасывается соединение нужно прописать дефолтовый шлюз на тачку которая пробрасывает соединения Ссылка на сообщение Поделиться на других сайтах
zulu_gluk 23 Опубліковано: 2004-12-20 19:25:08 Автор Share Опубліковано: 2004-12-20 19:25:08 С ДНС всё ОК. Еще раз прошу посмотреть сюда: iptables -t nat -A PREROUTING -p tcp -i eth1 --dport 95 -j DNAT --to 192.168.100.210:80 iptables -A FORWARD -d 192.168.100.210 -j ACCEPT iptables -A FORWARD -s 192.168.100.210 -j ACCEPT iptables -t nat -A POSTROUTING -s 192.168.100.210 -j SNAT --to-source $ext_ip Может что-то здесь неправильно? Ссылка на сообщение Поделиться на других сайтах
Zep 0 Опубліковано: 2004-12-20 19:58:07 Share Опубліковано: 2004-12-20 19:58:07 В цепочке NAT -A PREROUTING -i eth1 -d external_ip -p tcp -m tcp --dport 85 -j DNAT --to-destination 192.168.100.210:80 Ссылка на сообщение Поделиться на других сайтах
Zep 0 Опубліковано: 2004-12-20 20:02:50 Share Опубліковано: 2004-12-20 20:02:50 iptables -t nat -A POSTROUTING -s 192.168.100.210 -j SNAT --to-source $ext_ip тебе ненужно Ссылка на сообщение Поделиться на других сайтах
S_ergey 21 Опубліковано: 2004-12-20 20:09:29 Share Опубліковано: 2004-12-20 20:09:29 Согласно статьи http://www.opennet.ru/base/net/dnat_linux.txt.html нет строки # iptables -A FORWARD -i eth0 -d $LOCAL_IP -p tcp --dport $PORT2 -j ACCEPT $LOCAL_IP - внутренний "фэйковый" адрес машины, которую надо "выкидывать" наружу $PORT2 - Порт, который "выбрасывается" наружу(например, 80 - http, либо 21 - ftp) Допиши мож поможет. Вот мой пример но он не с портами а полностью выкидывает всю машину в инет ifconfig eth2:0 212.42.84.161 netmask 255.255.255.224 broadcast 212.42.84.191 route add 212.42.84.161 gw 212.42.84.165 netmask 0.0.0.0 iptables -t nat -A PREROUTING -p tcp -d 212.42.84.161 -j DNAT --to-destination 192.168.8.4 iptables -t nat -I POSTROUTING -s 192.168.8.4 -j SNAT --to-source 212.42.84.161 iptables -A FORWARD -i eth2 -d 192.168.8.4 -j ACCEPT если есть лишний адрес проверь так. Ссылка на сообщение Поделиться на других сайтах
zulu_gluk 23 Опубліковано: 2004-12-20 20:46:02 Автор Share Опубліковано: 2004-12-20 20:46:02 Короче сделал. POSTROUTING действительно не нужен. iptables -t nat -A PREROUTING -p tcp -d $ext_ip --dport 100 -j DNAT --to-destination 192.168.100.210:80 iptables -A FORWARD -d 192.168.100.210 -j ACCEPT iptables -A FORWARD -s 192.168.100.210 -j ACCEPT Эта конструкция работает у меня 100% Ссылка на сообщение Поделиться на других сайтах
Den_LocalNet 1 474 Опубліковано: 2004-12-20 21:53:05 Share Опубліковано: 2004-12-20 21:53:05 а вот у меня с фтп не получается [root@srv rc.d]# iptables -t nat -A PREROUTING -p tcp -d $ext_ip --dport 21 -j DNAT --to-destination 10.10.10.2:21 [root@srv rc.d]# iptables -I FORWARD 1 -s 10.10.10.2 -j ACCEPT [root@srv rc.d]# iptables -I FORWARD 1 -d 10.10.10.2 -j ACCEPT Ссылка на сообщение Поделиться на других сайтах
Foster 0 Опубліковано: 2004-12-20 22:01:47 Share Опубліковано: 2004-12-20 22:01:47 может потому что фтп нужен еще и двадцатый порт? Ссылка на сообщение Поделиться на других сайтах
Den_LocalNet 1 474 Опубліковано: 2004-12-20 22:08:39 Share Опубліковано: 2004-12-20 22:08:39 не помогло.... Ссылка на сообщение Поделиться на других сайтах
Foster 0 Опубліковано: 2004-12-20 22:22:09 Share Опубліковано: 2004-12-20 22:22:09 насколько помню там и удп юзается заруби файрволом сервак и открывай порты поочереди, верный способ проверки а можешь почитать де нить какие порты фтп юзает http://www.opennet.ru/tips/sml/65.shtml Ссылка на сообщение Поделиться на других сайтах
Den_LocalNet 1 474 Опубліковано: 2004-12-20 22:33:40 Share Опубліковано: 2004-12-20 22:33:40 открыл tcp и udp 20 и 21 порты.... никак.... попробовал 4899 (radmin) промапить - всё отлично...... может есть какие-то особенности у фтп? Ссылка на сообщение Поделиться на других сайтах
zulu_gluk 23 Опубліковано: 2004-12-21 07:58:11 Автор Share Опубліковано: 2004-12-21 07:58:11 фтп юзает tcp 20 и tcp 21. По крайней мере, у меня после открытия этих портов фтп заработал (файер режет всё подряд, кроме www и почты) Ссылка на сообщение Поделиться на других сайтах
XoRe 0 Опубліковано: 2004-12-21 12:26:08 Share Опубліковано: 2004-12-21 12:26:08 Мммда. И кто сказал, что Линукс проще фри? В общем для фряшников рецепт такой: В конфиге natd или в качестве аргумента для natd прописать: redirect_port tcp комп_в_локалке:порт внешний_порт И все. Ссылка на сообщение Поделиться на других сайтах
Den_LocalNet 1 474 Опубліковано: 2004-12-21 14:04:51 Share Опубліковано: 2004-12-21 14:04:51 А ты вот возьми и попробуй на той же фри промапить фтп..... на линухе прекрастно у меня промаплен хттп и радмин..... а вот с фтп не получается.... з.ы. присмотрелся что фар пишет при коннекте к фтп серверу. Там постоянно разные порты скачут.... Может в этом беда? Ссылка на сообщение Поделиться на других сайтах
XoRe 0 Опубліковано: 2004-12-22 00:12:50 Share Опубліковано: 2004-12-22 00:12:50 При использовании протокола ftp используется 2 соединения. Одно для управления. Т.е. для отправки комманд и для получения ответа на них. Второе для передачи файлов. Когда вы подсоединяетесь к серверу по протоколу ftp по адресу ftp://host:port/, то вы открываете соединение с портом port сервера host для передачи комманд. Когда вы в процессе общения с сервером набираете команды get/mget/put/mput e.t.c., то устанавливается ещё одно соединение, по которому происходит передача файла. Насколько я понял, для каждого файла устанавливается 1 соединение. Даже если вы передаете последовательно 1000 файлов, будет последовательно создано 1000 соединений, одно после другого. В реализации ftp протокола есть 2 способа установления соединения для передачи файла. Активное - когда клиент говорит серверу номер своего порта для установления соединения, по которому пойдет файл, а сервер цепляется к клиенту на этот порт. Пассивное - когда сервер говорит клиенту номер порта, а клиент цепляется к серверу на этот порт. В обычных условиях клиент может находиться за шлюзом, т.е. до его портов так просто не добраться. А сервер, наоборот, открыт для соединений. Поэтому в обычных условиях лучше использовать пассивный режим. С одной стороны в твоем случае лучше использовать активный режим, когда при установлении соединения ftp-сервер в локальной сети цепляется на порт клиента. С другой стороны, если клиент сам будет в локалке за шлюзом, то даже этот активный режим не поможет. В качестве решения можео сделать так: на ftp-сервере настроить систему так, чтобы урезать количество портов, используемых для установления исходящих соединений до 1000. Например с 49500 до 50500. На шлюзе настроить систему так, чтобы эти порты не использовались для установления исходящих соединений. И сделать на шлюзе проброс этих 1000 соединений на ftp-сервер в локалке. Я думаю, это самый простой вариант. Могу подсказать, как это реализовать, если шлюз и ftp-сервер работают на фряхе. Если на любой другой операционной системе - то тут хуз. Ссылка на сообщение Поделиться на других сайтах
tera 0 Опубліковано: 2005-02-04 22:36:08 Share Опубліковано: 2005-02-04 22:36:08 Ребята Нужна помаш на eth1 192.168.99.54 надо сделат перекидку с сервака на сервак в локалке что бі игралив контру тоесть в лакалке стаит линух гейм сервер контрі там ип 10,0,0,204 как сделать что с eth1 192,168,99,54 eth0 10.0.0.3 попадали на 10,0,0,204 и играли Ссылка на сообщение Поделиться на других сайтах
ispolin 0 Опубліковано: 2005-02-13 11:25:39 Share Опубліковано: 2005-02-13 11:25:39 Вот что-то читаю Iptables HOW-TO и вижу тут про нат DNS порта, а нужно ли делать елси у меня уже и так маскарад прописан на весь внешний интерфейс?? Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВхід
Уже зарегистрированы? Войдите здесь.
Войти сейчас