Добрый день. Прошу помощи , ибо сам разобраться не могу.
Нужно открыть 25 и 110 порт , имееться ос DEBIAN с установленным iptables.
создал директорию и файл в /etc/sysconfig/iptables
выполнил iptables-save > /etc/sysconfig/iptables
внес в /etc/sysconfig/iptables правило :
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 25 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 110 -j ACCEPT
// Сканирую ПК , открыт открыт только ssh порт 22
// Сразу скажу ГУГЛИЛ долго и тщатильно ...
вот : iptables -L
iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTAB LISHED
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:s mtp
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:p op3
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source
// Помогите пожалуйста, ибо сегодня нужно отдать сервак :(
Да и по инструкции есть директория /etc/init.d/iptables
а у меня ее нет ???
сам /etc/sysconfig/iptables
# Generated by iptables-save v1.4.8 on Wed Dec 21 10:24:10 2011
*filter
:INPUT ACCEPT [1457:109879]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [330:21084]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 25 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 110 -j ACCEPT
COMMIT
# Completed on Wed Dec 21 10:24:10 2011
Снова iptables
покажите вывод [console]iptables -L -v -n[/console]
и да, после внесения изменений в правила, перезапускали iptables?
покажите вывод [console]iptables -L -v -n[/console]
и да, после внесения изменений в правила, перезапускали iptables?
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
перезагружал , всю систему. REBOOT вообщем делал.
команды типа iptables stop-start у меня не работают. Видимо на них скрипт надо писать , но это потом ,главное проты открыть.
опять же вот сам iptables
# Generated by iptables-save v1.4.8 on Wed Dec 21 10:24:10 2011
*filter
:INPUT ACCEPT [1457:109879]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [330:21084]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 25 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 110 -j ACCEPT
COMMIT
# Completed on Wed Dec 21 10:24:10 2011
Судя по выводу iptables -L -v -n у Вас вообще не назначенно ни одного правила.
Видимо вы не тот файлик редактировали.
Как вариант, можно начать со скрипта, задающего правила.
Примерно так:
#!/bin/bash
#
# Flash all default
/sbin/iptables -F
/sbin/iptables -X
/sbin/iptables -t nat -F
/sbin/iptables -t nat -X
#
# Setup policy DROP for all
/sbin/iptables -P INPUT DROP
/sbin/iptables -P FORWARD DROP
/sbin/iptables -P OUTPUT DROP
#
# loop=trusted.
/sbin/iptables -A INPUT -i lo -j ACCEPT
/sbin/iptables -A OUTPUT -o lo -j ACCEPT
#
# Reject invalid pakets
/sbin/iptables -A INPUT -m state --state INVALID -j DROP
#
# ESTABLISHED connection
/sbin/iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A OUTPUT -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
#
# Mail
/sbin/iptables -A INPUT -i eth0 -p tcp -m multiport --dport 25,110 -s 192.168.0.0/24 -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -p udp -m multiport --dport 25,110 -s 192.168.0.0/24 -j ACCEPT
Естествоенно что eth0 и 192.168.0.0/24 у Вас свои будут.
Делаете этот скрипт исполняемым и запускаете от рута.
Всё порты открыты.
Но учтите, что после перезагрузки все правила, созданные таким скриптом, обнуляются.
Здесь два пути.
1. Добавляете этот скрипт в автозагрузку (тут на форуме полно описаний как это сделать, с учётом Вашего дистра).
2. Делаете iptables-save и смотрите в какой именно файл всё записалось, и м потом оперируете дальше.
Преимущество скриптового назначения правил для фаервола в том, что он работает на всех линуксах без исключения, вне зависимости от дистрибутива.
Удачи!
1000 кратное вам спасибо ФИЛОСОФ ))) Жалко что не могу 1000 раз отблагодарить еще раз спасибо
Всегда пожалуйста.
Обращайтесь, если что. smile
Появился еще один вопрос.
По началу на ПК стоял один интерфейс eth0 он имел шлюз другова ПК который раздает Интернет.
Удалось через него пробросить http tcp udp с помощью этого скрипта:
#!/bin/bash
IPT="/sbin/iptables"
echo 1 > /proc/sys/net/ipv4/ip_forward
# Mail
$IPT -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
$IPT -A FORWARD -i eth0 -p tcp -s 192.168.1.0/24 -m multiport --dport 25,110,143,993 -j ACCEPT
$IPT -A FORWARD -i eth0 -p udp -s 192.168.1.0/24 -m multiport --dport 25,110,143,993 -j ACCEPT
Теперь установил вторую сетевую карту eth1 прописал настройки провайдера , проверил интернет есть . С eth0 убрал шлюз. Интернет есть на локальных машинах, а вот порты 25-110 не пробрасываються ... Дописал в скрипт :
$IPT -A FORWARD -i eth1 -p tcp -s 192.168.1.0/24 -m multiport --dport 25,110,143,993 -j ACCEPT
$IPT -A FORWARD -i eth1 -p udp -s 192.168.1.0/24 -m multiport --dport 25,110,143,993 -j ACCEPT
НЕ работает... . В очередной раз прошу мудрого совета ....
bearwoolfs,
А что ты используешь iptables только для проброса портов??? а как же безопасность???
Не понял, каким скриптом ты пробросил порты... Где-то читал, что "-m multiport" не всегда отрабатывает, поэтому пользуюсь, например:
-p tcp -m tcp -dport 25 Не пойму, какая конфигурация сети...
Пробрасывают PREROUTING-ом и FORWARD-ом одновременно. Напиши подробнее про конфигурацию сети...
Так, немного резюмируем.
Был комп А, с него нам нужно было пробросить порты 25 и 110 в интернет через компьютер Б.
При этом компьютер А у нас почтовый сервер, компьютер Б - шлюз.
Так было?
Теперь стало, что компьютер А и почтовый сервер и шлю в Интернет?
Если так, то Приведённый Вами в предыдущем посте скрипт запускаелся бы на компьютере Б.
А при новой схеме на компьютере А нужно запустить скрипт, пример которого я привёл тут: http://linuxforum.ru/viewtopic.php?pid=236188#p236188
Если я схему не так понял, то нарисуйте что ли, что бы я точно ответить смог.
KRUTO, Про то что нужен NAT мы уже подразумеаем "по умолчанию".
Грубо говоря есть ПК , одна сетевая eth0 смотрит в локальную сеть , другая сетевая eth1 смотрит в глобальную к провайдеру.
Ага значит нужен NAT ,,,,??? буду читать , знания беру тут http://www.opennet.ru/docs/RUS/iptables/
Vadimsky, подозреваю, что не подозреваем)))
bearwoolfs, У вас почтовый сервер стоит на той машине, которая имеет две сетевые карты и предполагает раздачу интернета?
Нет это совершенно , отдельный ПК , с почтовым все было решено проще , там Dovecot и Postfix сами мебе путь прорубили. А это просто отдельный компьютер с двумя сетевыми картами
А когда этот скрипт пишу
снова iptables #236188
У меня просто обрубает все сетевые соединения
bearwoolfs, Вы меня совсем запутали. Можете обрисовать структуру Вашей стеки, то как Вы хотите её видеть, а то мы так гадая нашаманим щас тут :rolleyes:
Лучше рисунком, можно от руки wink
Есть компьютер с двумя сетевыми платами ,он станет интернет сетвером. К одной сетевой подключен шнур провайдера , к другой шнур для внутреней сети куда надо раздать интернет ВСЕ smile smile smile
Интернет я раздать могу , его спокойно по Http прокидывает SQUID , а вот порты пробросить это уже мука целой недели smile
Обозначьте буквами, где у Вас какая машина?

Интернет я раздать могу , его спокойно по Http прокидывает SQUID , а вот порты пробросить это уже мука целой недели smile
Откуда и куда порты Вы хотите прокинуть?
И зачем...
Не могу добавить изображение :( Мой ПК (сервер) и есть как раз это(серое ) устройство между Internet и комутатором. Имеет два сетевых интерфейса все как у вас изображено один в один smile . Vadimsky помогите пожалуйста глупцу :(