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


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Проброс портов в iptables  (Прочитано 1015 раз)

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

Оффлайн alpha.poltava

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Проброс портов в iptables
« : 01 Июля 2016, 11:34:42 »
Нужно пробросить три порта во внутринюю сеть 649 1649 и 13476  попытался сделать так как выделено черным тогда фаервол вообще отказывается работать. Когда закоментировал фаервол работает. Где ошибка?
Цитировать
#iptables -F
 #iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
 #iptables -A FORWARD -i eth0 -o eth0 -j REJECT
 #iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -i TCMPSS --clamp-mss-to-mtu




 export IPT="iptables"
 export WAN=eth0
 export LAN=eth1
 # Очистка всех цепочек iptables
 $IPT -F
 $IPT -F -t nat
 $IPT -F -t mangle
 $IPT -X
 $IPT -t nat -X
 $IPT -t mangle -X


 $IPT -P INPUT DROP
 $IPT -P OUTPUT DROP
 $IPT -P FORWARD DROP

 $IPT -A INPUT -i lo -j ACCEPT
 $IPT -A INPUT -i $LAN -j ACCEPT
 $IPT -A OUTPUT -o lo -j ACCEPT
 $IPT -A OUTPUT -o $LAN -j ACCEPT

 $IPT -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT

 $IPT -A OUTPUT -p all -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
 # Разрешить форвардинг для новых, а так же уже инициированных
 # и их дочерних соединений
 $IPT -A FORWARD -p all -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

 $IPT -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
 $IPT -A INPUT -m state --state INVALID -j DROP
 $IPT -A FORWARD -m state --state INVALID -j DROP

 $IPT -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
 $IPT -A OUTPUT -p tcp ! --syn -m state --state NEW -j DROP


 $IPT -A FORWARD -i $LAN -o $WAN -j ACCEPT
 ############
 $IPT -A FORWARD -i $WAN -o $LAN -j ACCEPT
#$IPT -t nat -A PREROUTING -p tcp -d $WAN --dport 649 -j DNAT --to-destination $LAN:649
 #$IPT -t nat -A POSTROUTING -p tcp --dst $LAN --dport 649 -j SNAT --to-source $WAN
 #$IPT -A FORWARD -i $LAN -o $WAN -m tcp -p tcp --dport 649 -j ACCEPT
 #$IPT -A FORWARD -i $WAN -o $LAN -m tcp -p tcp --sport 649 -j ACCEPT
 #udp
 #$IPT -t nat -A PREROUTING -p udp -d $WAN --dport 1649 -j DNAT --to-destination $LAN:1649
 #$IPT -t nat -A POSTROUTING -p udp --dst $LAN --dport 1649 -j SNAT --to-source $WAN
 #$IPT -A FORWARD -i $LAN -o $WAN -m tcp -p udp --dport 1649 -j ACCEPT
 #$IPT -A FORWARD -i $WAN -o $LAN -m tcp -p udp --sport 1649 -j ACCEPT

 #$IPT -t nat -A PREROUTING -p tcp -d $WAN --dport 13476 -j DNAT --to-destination $LAN:13476
 #$IPT -t nat -A POSTROUTING -p tcp --dst $LAN --dport 13476 -j SNAT --to-source $WAN
 #$IPT -A FORWARD -d $LAN -p tcp --dport 13476 -j ACCEPT

 ###################################
 $IPT -t nat -A POSTROUTING -o $WAN -j MASQUERADE
 $IPT -A INPUT -i $WAN -p tcp --dport 53 -j ACCEPT
 $IPT -A INPUT -i $WAN -p udp --dport 53 -j ACCEPT

 $IPT -A INPUT -p tcp --dport 443 -j ACCEPT
 $IPT -A INPUT -i $WAN -p tcp --dport 80 -j ACCEPT
 $IPT -A INPUT -i $WAN -p udp --dport 80 -j ACCEPT

Попробовал так:
 $IPT -t nat -A PREROUTING -p udp -d $WAN --dport 1649 -j DNAT --to-destination 192.168.0.5:1649
 $IPT -t nat -A POSTROUTING -p udp --dst 192.168.0.5 --dport 1649 -j SNAT --to-source $WAN
 $IPT -A FORWARD -i $LAN -o $WAN -m tcp -p udp --dport 1649 -j ACCEPT
 $IPT -A FORWARD -i $WAN -o $LAN -m tcp -p udp --sport 1649 -j ACCEPT
 Все равно не работает не только проброс но и форвардинг браузера когда закоментировал проброс то форвардинг браузера работает. Может в скипте оно стоит не на том месте
« Последнее редактирование: 01 Июля 2016, 11:36:19 от alpha.poltava »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Проброс портов в iptables
« Ответ #1 : 01 Июля 2016, 11:36:57 »
Показывайте iptables-save
И учитесь пользоваться спойлерами.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн alpha.poltava

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: Проброс портов в iptables
« Ответ #2 : 01 Июля 2016, 13:20:47 »
Показывайте iptables-save
# Generated by iptables-save v1.4.21 on Fri Jul  1 10:12:29 2016
*mangle
:PREROUTING ACCEPT [87323:63616408]
:INPUT ACCEPT [3195:190610]
:FORWARD ACCEPT [83112:63390270]
:OUTPUT ACCEPT [372:45214]
:POSTROUTING ACCEPT [83483:63435444]
COMMIT
# Completed on Fri Jul  1 10:12:29 2016
# Generated by iptables-save v1.4.21 on Fri Jul  1 10:12:29 2016
*nat
:PREROUTING ACCEPT [4143:216232]
:INPUT ACCEPT [81:5935]
:OUTPUT ACCEPT [72:4971]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
# Completed on Fri Jul  1 10:12:29 2016
# Generated by iptables-save v1.4.21 on Fri Jul  1 10:12:29 2016
*filter
:INPUT DROP [2496:128371]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth1 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -m state --state INVALID -j DROP
-A INPUT -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP
-A INPUT -i eth0 -p tcp -m tcp --dport 53 -j ACCEPT
-A INPUT -i eth0 -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT
-A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
-A FORWARD -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -m state --state INVALID -j DROP
-A FORWARD -i eth1 -o eth0 -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -o eth1 -j ACCEPT
-A OUTPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP
COMMIT
# Completed on Fri Jul  1 10:12:29 2016

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Проброс портов в iptables
« Ответ #3 : 01 Июля 2016, 13:50:35 »
В моём сообщении было две строчки.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: Проброс портов в iptables
« Ответ #4 : 01 Июля 2016, 15:36:51 »
а где вводимые правила?

ЗЫ про "OUTPUT DROP" и  "$IPT -A FORWARD -i $WAN -o $LAN -j ACCEPT" я промолчу

alexxnight

  • Гость
Re: Проброс портов в iptables
« Ответ #5 : 01 Июля 2016, 19:34:01 »
вместо state используйте conntrack
цепочки FORWARD и OUTPUT оставьте в ACCEPT и пока не трогайте.
если Вы в цепочке PREROUTING написали правило, то оно "автоматически" сработает на "обратном" трафике, поэтому нет смысла писать правило в POSTROUTING для SNAT

Вот пример:
iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 192.168.122.77:80

Оффлайн alpha.poltava

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: Проброс портов в iptables
« Ответ #6 : 05 Июля 2016, 10:12:57 »
Заметил, что если переместить выделеные правила в конец скрипта то интернет для клиентов не блокируется. Однако проброс портов также не работает.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: Проброс портов в iptables
« Ответ #8 : 05 Июля 2016, 10:46:22 »
Заметил, что если переместить выделеные правила в конец скрипта то интернет для клиентов не блокируется. Однако проброс портов также не работает.
может всё-таки один раз взять и разобраться как работает netfilter, а точнее порядок обработки им правил?

 

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