The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"port_forwarding"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [ Отслеживать ]

"port_forwarding"  
Сообщение от asidko email(??) on 19-Июл-08, 21:52 
Помогите решить задачу.
Есть firewall на slackware есть локальная сеть. В локальной сети стоит комп который принимает vpn коннекты.
Нужно устроить порт 1723 форвардинг на slackware.
У нее два интерфейса:
внешний - eth1 - xxx.xxx.xxx.xxx
внутркнний - eth0 - 192.168.1.x

Написал вот такое правило:
/usr/sbin/iptables -t nat -A PREROUTING -p tcp -j DNAT -d xxx.xxx.xxx.xxx --dport 1723 --to-destination 192.168.1.201:1723
но вижу что коннекты к vpn серверу в локалке не доходят. Значит моё правило не работает. Подскажите, что не правильно?

Спасибо, Андрей.

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

  • port_forwarding, asidko, 04:32 , 20-Июл-08, (1)  
    • port_forwarding, angra, 05:20 , 20-Июл-08, (2)  
      • port_forwarding, Gennadi, 00:23 , 21-Июл-08, (3)  
        • port_forwarding, Gennadi, 00:26 , 21-Июл-08, (4)  

Сообщения по теме [Сортировка по времени | RSS]


1. "port_forwarding"  
Сообщение от asidko email(ok) on 20-Июл-08, 04:32 
>[оверквотинг удален]
>внешний - eth1 - xxx.xxx.xxx.xxx
>внутркнний - eth0 - 192.168.1.x
>
>Написал вот такое правило:
>/usr/sbin/iptables -t nat -A PREROUTING -p tcp -j DNAT -d xxx.xxx.xxx.xxx --dport
>1723 --to-destination 192.168.1.201:1723
>но вижу что коннекты к vpn серверу в локалке не доходят. Значит
>моё правило не работает. Подскажите, что не правильно?
>
>Спасибо, Андрей.

Сделал вот так:
/usr/sbin/iptables -t nat -A PREROUTING -i eth0 --dst xxx.xxx.xxx.xxx -p tcp --dport 1723 -j DNAT --to-destination 192.168.1.201:1723
/usr/sbin/iptables -A FORWARD -i eth1 --dst 192.168.1.201 -p tcp --dport 1723 -j ACCEPT

но все равно не работает.

Помоните!!!

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "port_forwarding"  
Сообщение от angra (ok) on 20-Июл-08, 05:20 
>>внутркнний - eth0 - 192.168.1.x
>/usr/sbin/iptables -t nat -A PREROUTING -i eth0 --dst xxx.xxx.xxx.xxx -p tcp --dport
>1723 -j DNAT --to-destination 192.168.1.201:1723

зачем вы указываете -i eth0, если оно придет с eth1?

>но все равно не работает.

Дайте вывод iptables-save и cat /proc/sys/net/ipv4/ip_forward

Также стоит проверить чистую проброску портов, а уже потом проброс vpn, может не в фаерволе дело, а в настройках vpn. Поставьте на внутренней машине netcat слушать произвольный порт и пробросте его на шлюзе, потом попробуйте законектится извне.


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "port_forwarding"  
Сообщение от Gennadi email(??) on 21-Июл-08, 00:23 
>[оверквотинг удален]
>зачем вы указываете -i eth0, если оно придет с eth1?
>
>>но все равно не работает.
>
>Дайте вывод iptables-save и cat /proc/sys/net/ipv4/ip_forward
>
>Также стоит проверить чистую проброску портов, а уже потом проброс vpn, может
>не в фаерволе дело, а в настройках vpn. Поставьте на внутренней
>машине netcat слушать произвольный порт и пробросте его на шлюзе, потом
>попробуйте законектится извне.

#!/bin/bash
#
################### Переменные ############################################
# Внешний интерфейс ppp0 или eth1
EXTIF="eth1"

# Локальный интерфейс
INTIF="eth0"

# IP-Adresse локальнго интерфейса определить
LAN_IP=$(ifconfig $INTIF | head -n 2 | tail -n 1 | cut -d: -f2 | cut -d" " -f 1)

# IP-Adresse для VPN  установить или закоментировать
VPN_SERVER="192.168.1.201"

############################################################################
#
case "$1" in
start)
echo "Starte IP-Paketfilter"

# iptables-Modul
modprobe ip_tables
modprobe ip_conntrack
modprobe ip_conntrack_irc
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
# modprobe ip_nat_irc

# Tabelle очистить
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
iptables -t nat -X
iptables -t mangle -X

# Default-Policies установить
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

# MY_REJECT-Chain
iptables -N MY_REJECT

# MY_REJECT заполнить
iptables -A MY_REJECT -p tcp -m limit --limit 7200/h -j LOG --log-prefix "REJECT TCP "
iptables -A MY_REJECT -p tcp -j REJECT --reject-with tcp-reset
iptables -A MY_REJECT -p udp -m limit --limit 7200/h -j LOG --log-prefix "REJECT UDP "
iptables -A MY_REJECT -p udp -j REJECT --reject-with icmp-port-unreachable
iptables -A MY_REJECT -p icmp -m limit --limit 7200/h -j LOG --log-prefix "DROP ICMP "
iptables -A MY_REJECT -p icmp -j DROP
iptables -A MY_REJECT -m limit --limit 7200/h -j LOG --log-prefix "REJECT OTHER "
iptables -A MY_REJECT -j REJECT --reject-with icmp-proto-unreachable

# MY_DROP-Chain
iptables -N MY_DROP
iptables -A MY_DROP -m limit --limit 7200/h -j LOG --log-prefix "PORTSCAN DROP "
iptables -A MY_DROP -j DROP

# все пакеты протоколировать
iptables -A INPUT -j LOG --log-prefix "INPUT LOG "
iptables -A OUTPUT -j LOG --log-prefix "OUTPUT LOG"
iptables -A FORWARD -j LOG --log-prefix "FORWARD LOG "

# Битые пакеты выбросить
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A OUTPUT -m state --state INVALID -j DROP
iptables -A FORWARD -m state --state INVALID -j DROP

# Stealth Scans etc. запретить
# Flags не установлен
iptables -A INPUT -p tcp --tcp-flags ALL NONE -j MY_DROP
iptables -A FORWARD -p tcp --tcp-flags ALL NONE -j MY_DROP

# SYN и FIN установить
iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j MY_DROP
iptables -A FORWARD -p tcp --tcp-flags SYN,FIN SYN,FIN -j MY_DROP

# SYN и RST одновременно установить
iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j MY_DROP
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN,RST -j MY_DROP

# FIN и RST одновременно установить
iptables -A INPUT -p tcp --tcp-flags FIN,RST FIN,RST -j MY_DROP
iptables -A FORWARD -p tcp --tcp-flags FIN,RST FIN,RST -j MY_DROP

# FIN без ACK
iptables -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j MY_DROP
iptables -A FORWARD -p tcp --tcp-flags ACK,FIN FIN -j MY_DROP

# PSH без ACK
iptables -A INPUT -p tcp --tcp-flags ACK,PSH PSH -j MY_DROP
iptables -A FORWARD -p tcp --tcp-flags ACK,PSH PSH -j MY_DROP

# URG без ACK
iptables -A INPUT -p tcp --tcp-flags ACK,URG URG -j MY_DROP
iptables -A FORWARD -p tcp --tcp-flags ACK,URG URG -j MY_DROP

# Loopback-Netzwerk-Kommunikation разрешить
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

# Maximum Segment Size (MSS) для Forwarding на PMTU разрешить
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

# Connection-Tracking активировать
iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i ! $EXTIF -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

############### NAT в локальную сеть ##########################################
# Можешь сюда добавлять свои новые правила или закоментировать эти...
##############################################################################

# NAT для VPN Port 1723
echo -n "VPN ..."
iptables -t nat -A PREROUTING -i $EXTIF -p tcp --dport 1723 -j DNAT --to-destination $VPN_SERVER
iptables -t nat -A POSTROUTING -o $INTIF -p tcp --dport 1723 -j SNAT --to-source $LAN_IP
iptables -A FORWARD -i $EXTIF -m state --state NEW -p tcp -d $VPN_SERVER --dport 80 -j ACCEPT
echo "done!"

##############################################################################

# Допуск из LAN к локальному интерфейсу разрешить
iptables -A INPUT -m state --state NEW -i $INTIF -j ACCEPT

# Default-Policies mit REJECT
iptables -A INPUT -j MY_REJECT
iptables -A OUTPUT -j MY_REJECT
iptables -A FORWARD -j MY_REJECT

# Routing разрешить
echo 1 > /proc/sys/net/ipv4/ip_forward 2> /dev/null

# Masquerading разрешить
iptables -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE

# SYN-Cookies разрешить
echo 1 > /proc/sys/net/ipv4/tcp_syncookies 2> /dev/null

# Stop Source-Routing
for i in /proc/sys/net/ipv4/conf/*; do echo 0 > $i/accept_source_route 2> /dev/null; done

# Stop Redirecting
for i in /proc/sys/net/ipv4/conf/*; do echo 0 > $i/accept_redirects 2> /dev/null; done

# Reverse-Path-Filter
for i in /proc/sys/net/ipv4/conf/*; do echo 2 > $i/rp_filter 2> /dev/null; done

# Log Martians
for i in /proc/sys/net/ipv4/conf/*; do echo 1 > $i/log_martians 2> /dev/null; done

# BOOTP-Relaying отключить
for i in /proc/sys/net/ipv4/conf/*; do echo 0 > $i/bootp_relay 2> /dev/null; done

# Proxy-ARP выключить
for i in /proc/sys/net/ipv4/conf/*; do echo 0 > $i/proxy_arp 2> /dev/null; done

# Негодные ICMP-ответы игнорировать
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses 2> /dev/null

# ICMP Echo-Broadcasts игнорировать
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts 2> /dev/null

# Max. 500/Sekunde (5/Jiffie) посылать
echo 5 > /proc/sys/net/ipv4/icmp_ratelimit

# Оптимизация памяти и времени для IP-дe/-фрагментации
echo 262144 > /proc/sys/net/ipv4/ipfrag_high_thresh
echo 196608 > /proc/sys/net/ipv4/ipfrag_low_thresh
echo 30 > /proc/sys/net/ipv4/ipfrag_time

# TCP-FIN-Timeout защиту от DoS-Attacken установить
echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout

# Maximal 3 ответа на один TCP-SYN
echo 3 > /proc/sys/net/ipv4/tcp_retries1

# TCP-Pakete maximal 15x повторить
echo 15 > /proc/sys/net/ipv4/tcp_retries2

;;

stop)
echo "Stoppe IP-Paketfilter"
# Tabelle очистить
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
iptables -t nat -X
iptables -t mangle -X
echo "Deaktiviere IP-Routing"
echo 0 > /proc/sys/net/ipv4/ip_forward

# Default-Policies установить
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
;;

status)
echo "Tabelle filter"
iptables -L -vn
echo "Tabelle nat"
iptables -t nat -L -vn
echo "Tabelle mangle"
iptables -t mangle -L -vn
;;

*)
echo "Bad run IP-Paketfilter "
echo "Syntax: $0 {start|stop|status}"
exit 1
;;

esac

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "port_forwarding"  
Сообщение от Gennadi email(??) on 21-Июл-08, 00:26 
>>

...Ошибочка..

iptables -A FORWARD -i $EXTIF -m state --state NEW -p tcp -d $VPN_SERVER --dport 80 -j ACCEPT

Зменить:

s/--dport 80/--dport 1723/g

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру