Автор Гілка: прокинути порт у мережу  (Прочитано 3479 раз)

Відсутній Tomkat

  • Кореспондент
  • ***
  • дописів: 160
  • Карма: +0/-0
Доброго дня ! Передусім перепрошую, що не знайшов готової відповіді на форумі, чукав, чесно ...
Завдання тривіальне - отримати доступ до адмінки бездротової точки (для прикладу), що знаходиться в домашній мережі за сервером на Дебіані в якості шлюзу.
На шлюзі маю дві мережеві карти, класика. Налаштовано NAT, firewall по мінімуму , все працює. Спробував десятка зо два різних порад і все там - не проходить . Ось правила файеру:

eth0 -Інтернет
eth1 - локалка
193.23.23.0 - локальна мережа

# Reset Default Policies
iptables  -P INPUT ACCEPT
iptables  -P FORWARD ACCEPT
iptables  -P OUTPUT ACCEPT

# Flush all rules
iptables -F
iptables -t nat -F
iptables -t mangle -F

# Erase all non-default chains
iptables -X
iptables -t nat -X
iptables -t mangle -X

 iptables -P INPUT   DROP
 iptables -P OUTPUT  DROP
 iptables -P FORWARD DROP.

 iptables -A INPUT  -i lo -j ACCEPT.
 iptables -A OUTPUT -o lo -j ACCEPT

 iptables -A INPUT  -p icmp --icmp-type 0 -j ACCEPT
 iptables -A INPUT  -p icmp --icmp-type 8 -j ACCEPT
 iptables -A OUTPUT -p icmp -j ACCEPT

 iptables -A OUTPUT -p TCP --sport 32768:61000 -j ACCEPT
 iptables -A OUTPUT -p UDP --sport 32768:61000 -j ACCEPT

 iptables -P OUTPUT ACCEPT

 iptables -A INPUT  -i eth0 -p TCP --dport 22 -j ACCEPT.
 iptables -A OUTPUT -o eth0 -p TCP --sport 22 -j ACCEPT


 iptables -A INPUT  -i eth1 -p TCP --dport 2052 -j ACCEPT.
 iptables -A OUTPUT -o eth1 -p TCP --sport 2052 -j ACCEPT

  echo 1 > /proc/sys/net/ipv4/ip_forward

         iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT.
         iptables -A FORWARD -m conntrack --ctstate NEW -i eth1 -s 193.23.23.0/24 -j ACCEPT
         iptables -P FORWARD DROP
         iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

#Предоставление доступа к сервисам на шлюзе
 #Apache
 iptables -A INPUT <--->-p TCP --dport 80 -j ACCEPT.
 iptables -A OUTPUT<--->-p TCP --sport 80 -j ACCEPT

 iptables -A INPUT<---->-p TCP --dport 81 -j ACCEPT.
 iptables -A OUTPUT <-->-p TCP --sport 81 -j ACCEPT

 #Proxy
 iptables -A INPUT<---->-i eth1>-p TCP --dport 3128 -j ACCEPT.
 iptables -A OUTPUT<---><------>-p TCP --sport 3128 -j ACCEPT
 #SAMBA
 iptables -A INPUT -p tcp --dport 137  -j ACCEPT.
 iptables -A INPUT -p tcp --dport 138  -j ACCEPT.
 iptables -A INPUT -p tcp --dport 139  -j ACCEPT.
 iptables -A INPUT -p tcp --dport 445  -j ACCEPT.

# Redirect HTTP for a transparent proxy
 iptables -t nat -A PREROUTING -i eth1 -p tcp --destination-port 80  -j REDIRECT --to-ports 3128

# For SAMBA Logging
 iptables -A INPUT -m state --state NEW -p tcp -m multiport --dports 137,138,139,445 -j LOG --log-prefix "Identified SAM
далі намагаюсь прокидати
EXT_IP=`cat /var/log/IP`
LOCAL_IP="193.23.23.11"
PORT1=81
PORT2=80


 
iptables -A FORWARD -i eth0 -o eth1 -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -p tcp --sport 80 -j ACCEPT

iptables -t nat -A PREROUTING -i eth0 -d $EXT_IP -p tcp --dport 81 -j DNAT --to-destination $LOCAL_IP:80
iptables -t nat -A POSTROUTING -o eth0 -s $LOCAL_IP -p tcp --sport 81 -j SNAT --to-source $EXT_IP


приспробі зайти на зовнішнію адресу шлюза по 81 порту нічого не виходить - з"єднання скидається ..
а ма показати запрошення логін/пароль точки
« Змінено: 2015-03-24 15:18:03 від Tomkat »

Відсутній anatolijd

  • Графоман
  • ****
  • дописів: 325
  • Карма: +0/-0
Re: прокинути порт у мережу
« Відповідей #1 : 2015-03-25 19:44:05 »
вам треба зовнішій порт прокинути всередину, достатньо  PREROUTING

спробуйте так:
iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 81 -j DNAT --to-destination $LOCAL_IP:80
iptables -A FORWARD -p tcp -d $LOCAL_IP --dport 80 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

POSTROUTING це якщо вам треба ходити в зворотньому напрямку, з своєї локалки в іншу мережу.

Відсутній Tomkat

  • Кореспондент
  • ***
  • дописів: 160
  • Карма: +0/-0
Re: прокинути порт у мережу
« Відповідей #2 : 2015-03-25 23:56:48 »
спробував .. нічого не вийшло

Відсутній yakim

  • Новачок
  • *
  • дописів: 42
  • Карма: +0/-0
  • I Love YaBB 2!
Re: прокинути порт у мережу
« Відповідей #3 : 2015-05-15 11:18:01 »
спробував .. нічого не вийшло

Здається мені, що у вас заборонено форвард пакетів на рівні ядра.
Спробуйте ще зробити
echo 1 > /proc/sys/net/ipv4/ip_forward