The OpenNET Project / Index page

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

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

"VPN + NAT в IPtables"  
Сообщение от Ramaloke (ok) on 02-Апр-09, 16:15 
Есть локальная сеть: 192.168.50.0
Сервер с iptables:
(INET_IFACE) eth1: 192.168.1.2
(LAN_IFACE) eth2: 192.168.50.77

INET_IFACE подключается к DSL-модему с адресом 192.168.1.1, который подключается по РРРоЕ, внешний IP получает динамически.

Сервер выступает в роли прокси-сервера (сквид), впн-клиента (pptp) и firewall + NAT [для почты и впн трафика] (iptables).

Сквид работает.
Впн-клиент подключается, работает.
NAT тоже вроде бы заставил работать.

Вот что касается vpn. По нему идет подключение к БД.
Есть логин:пароль по которым pptp подключается. Далее прописываем маршрут в другую сеть, где находится БД. Все пингуется. все отлично. Теперь надо чтобы через NAT пользователи сети могли подключиться к этой БД (имитация подключения с 1 IP под 1 логин:пароль).
Прописывал:
$IPTABLES -A INPUT -p TCP -s 192.168.50.0/24 --dport 1753 -j ACCEPT
$IPTABLES -A FORWARD -p 47 -i eth1 -s 192.168.50.0/24 -j ACCEPT
$IPTABLES -A OUTPUT -p 47 -o eth2 -s 192.168.50.0/24 -j ACCEPT
$IPTABLES -A OUTPUT -p TCP -s 192.168.50.0/24 --dport 1753 -j ACCEPT

Не работает :(((

По NAT один вопрос. Отключить возможность ходить в инет, сугубо только почту проверять - надо в POSTROUTING'е указать порт 25 и 110? или как-то по-другому можно ограничить доступ? Т.к. ходят в инет через сквид, но найдутся умники, которые пойдут против правил.

Заранее спасибо за помощь и советы. Ибо уже замучался, ничего не выходит :(((

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

 Оглавление

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


1. "VPN + NAT в IPtables"  
Сообщение от open email on 02-Апр-09, 16:29 
>По NAT один вопрос. Отключить возможность ходить в инет, сугубо только почту
>проверять - надо закрыть порт 80? или как можно ограничить доступ?
>Т.к. ходят в инет через сквид, но найдутся умники, которые пойдут
>против правил.

так может не закрыть 80-й, а закрыть все кроме 25, и остальных нужных портов,
хотя если кто то организует себе в инете прокси на 25порту,то будет облом,

для проверки почты можно попробовать настроить SMTP прокси, слышал что чуть не nginx умеет SMTP проксировать.

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

2. "VPN + NAT в IPtables"  
Сообщение от Ramaloke (ok) on 02-Апр-09, 16:37 
>[оверквотинг удален]
>>Т.к. ходят в инет через сквид, но найдутся умники, которые пойдут
>>против правил.
>
>так может не закрыть 80-й, а закрыть все кроме 25, и остальных
>нужных портов,
>хотя если кто то организует себе в инете прокси на 25порту,то будет
>облом,
>
>для проверки почты можно попробовать настроить SMTP прокси, слышал что чуть не
>nginx умеет SMTP проксировать.

Мне бы NAT'ом прокинуть.
Может в ПОСТРОУТИНГе указать порты 25 и 110, а также 1753 (для vpn, хотя этот вопрос до сих пор актуальный).

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

3. "VPN + NAT в IPtables"  
Сообщение от reader (ok) on 02-Апр-09, 17:03 
>[оверквотинг удален]
>>нужных портов,
>>хотя если кто то организует себе в инете прокси на 25порту,то будет
>>облом,
>>
>>для проверки почты можно попробовать настроить SMTP прокси, слышал что чуть не
>>nginx умеет SMTP проксировать.
>
>Мне бы NAT'ом прокинуть.
>Может в ПОСТРОУТИНГе указать порты 25 и 110, а также 1753 (для
>vpn, хотя этот вопрос до сих пор актуальный).

так и сделайте 2 правила для NAT на разных интерфейсах с указанием портов
http://www.opennet.ru/docs/RUS/iptables/#SNATTARGET

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

4. "VPN + NAT в IPtables"  
Сообщение от Ramaloke (ok) on 02-Апр-09, 17:34 
>[оверквотинг удален]
>>>для проверки почты можно попробовать настроить SMTP прокси, слышал что чуть не
>>>nginx умеет SMTP проксировать.
>>
>>Мне бы NAT'ом прокинуть.
>>Может в ПОСТРОУТИНГе указать порты 25 и 110, а также 1753 (для
>>vpn, хотя этот вопрос до сих пор актуальный).
>
>так и сделайте 2 правила для NAT на разных интерфейсах с указанием
>портов
>http://www.opennet.ru/docs/RUS/iptables/#SNATTARGET

Так. Вопрос с портами для почты решен.

Вот с vpn что делать.
Запускаю правила iptables. Подключаюсь по впн, прописываю роутинг. IP который мне впн присвоил и куда я маршрут прописал не пингуются. Надо gre и 1753 порт прописать. Прописываю:
$IPTABLES -A INPUT -p 47 -i $LAN_IFACE -s IP_VPN -j ACCEPT
$IPTABLES -A INPUT -p TCP -i $LAN_IFACE -s IP_VPN -j ACCEPT
$IPTABLES -A INPUT -p 47 -i $LAN_IFACE -s IP_VPN_route -j ACCEPT
$IPTABLES -A INPUT -p TCP --dport 1753 -i $LAN_IFACE -s IP_VPN_route -j ACCEPT
Не работает :(((
ping: sendmsg: Операция не позволяется

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

5. "VPN + NAT в IPtables"  
Сообщение от reader (ok) on 02-Апр-09, 20:08 
>[оверквотинг удален]
>Запускаю правила iptables. Подключаюсь по впн, прописываю роутинг. IP который мне впн
>присвоил и куда я маршрут прописал не пингуются. Надо gre и
>1753 порт прописать. Прописываю:
>$IPTABLES -A INPUT -p 47 -i $LAN_IFACE -s IP_VPN -j ACCEPT
>$IPTABLES -A INPUT -p TCP -i $LAN_IFACE -s IP_VPN -j ACCEPT
>$IPTABLES -A INPUT -p 47 -i $LAN_IFACE -s IP_VPN_route -j ACCEPT
>$IPTABLES -A INPUT -p TCP --dport 1753 -i $LAN_IFACE -s IP_VPN_route -j
>ACCEPT
>Не работает :(((
>ping: sendmsg: Операция не позволяется

откуда проверяете, с сервера или другой машины? ping это icmp протокол, он разрешен? тут показаны правила только для входящих пакетов, для исходящих и транзитных нет ничего. и не понятно кто есть IP_VPN , а кто IP_VPN_route.
показывайте уж тогда iptables-save с описанием кто есть кто. серые ip лучше не прятать что бы не путаться. так же таблица маршрутизации не будет лишней, а если проверяете не с сервера , а с другой машины то и ее настройки то же показывайте.

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

6. "VPN + NAT в IPtables"  
Сообщение от Ramaloke (??) on 02-Апр-09, 22:27 
>откуда проверяете, с сервера или другой машины? ping это icmp протокол, он
>разрешен? тут показаны правила только для входящих пакетов, для исходящих и
>транзитных нет ничего. и не понятно кто есть IP_VPN , а
>кто IP_VPN_route.
>показывайте уж тогда iptables-save с описанием кто есть кто. серые ip лучше
>не прятать что бы не путаться. так же таблица маршрутизации не
>будет лишней, а если проверяете не с сервера , а с
>другой машины то и ее настройки то же показывайте.

Понимаю, что запутал. Постораюсь описать все снова и по порядку.
Сервер с iptables имеет 2 сетевые:
подключенная к ДСЛ-модему: eth1 - 192.168.1.2
локальная: eth2 - 192.168.50.77
Он же подключается по впн к серверу и устройство ppp0, создающееся на время подключения получает ip: 192.168.80.40. После чего прописывается маршрут к серверу с БД - 192.168.20.30.
Пингую с сервера.
Если таблицы iptables стереть, то пингуется все нормально. При заполненных таблицах, эти 2 ip (192.168.80.40 и 192.168.20.30) не пингуются, выдается ошибка ping: sendmsg: Операция не позволяется. Но сайты, локальная сеть и т.д. пингуются.

Теперь привожу скрипт, который заполняет таблицы (лог-куски отброшу чтобы не сорить):

=====================
#!/bin/sh
#Карта смотрящая в инет через ДСЛ модем)
INET_IP="192.168.1.2"
INET_IFACE="eth1"
INET_BROADCAST="192.168.1.255"

#Карта смотрящая в локальную сеть
LAN_IP="192.168.50.77"
LAN_IP_RANGE="192.168.50.0/24"
LAN_IFACE="eth2"

LO_IFACE="lo"
LO_IP="127.0.0.1"

IPTABLES="/sbin/iptables"

/sbin/depmod -a

/sbin/modprobe ip_tables
/sbin/modprobe nf_conntrack_ipv4
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_mangle
/sbin/modprobe iptable_nat
/sbin/modprobe ipt_LOG

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

$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP

$IPTABLES -N bad_tcp_packets

$IPTABLES -N allowed
$IPTABLES -N tcp_packets
$IPTABLES -N udp_packets
$IPTABLES -N icmp_packets

$IPTABLES -A allowed -p TCP --syn -j ACCEPT
$IPTABLES -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A allowed -p TCP -j DROP

# TCP rules
#SSH
$IPTABLES -A tcp_packets -p TCP -s 192.168.50.0/24 --dport 22 -j allowed
#IDENTD
$IPTABLES -A tcp_packets -p TCP -s 192.168.50.0/24 --dport 113 -j allowed
#Squid
$IPTABLES -A tcp_packets -p TCP -s 192.168.50.0/24 --dport 3128 -j allowed

# UDP ports
$IPTABLES -A udp_packets -p UDP -s 192.168.50.0/24 --destination-port 2074 -j ACCEPT
$IPTABLES -A udp_packets -p UDP -s 192.168.50.0/24 --destination-port 4000 -j ACCEPT

# ICMP rules
$IPTABLES -A icmp_packets -p ICMP -s 192.168.50.0/24 --icmp-type 8 -j ACCEPT
$IPTABLES -A icmp_packets -p ICMP -s 192.168.50.0/24 --icmp-type 11 -j ACCEPT

# INPUT chain
$IPTABLES -A INPUT -p tcp -j bad_tcp_packets

# Rules for special networks not part of the Internet
$IPTABLES -A INPUT -p ALL -i $LAN_IFACE -s $LAN_IP_RANGE -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $LO_IP -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $LAN_IP -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $INET_IP -j ACCEPT

# Rules for incoming packets from the internet.
$IPTABLES -A INPUT -p ALL -d $INET_IP -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -p TCP -i $INET_IFACE -j tcp_packets
$IPTABLES -A INPUT -p UDP -i $INET_IFACE -j udp_packets
$IPTABLES -A INPUT -p ICMP -i $INET_IFACE -j icmp_packets

# FORWARD chain
$IPTABLES -A FORWARD -p tcp -j bad_tcp_packets

# Accept the packets we actually want to forward
$IPTABLES -A FORWARD -i $LAN_IFACE -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# OUTPUT chain
$IPTABLES -A OUTPUT -p tcp -j bad_tcp_packets

# Special OUTPUT rules to decide which IP's to allow.
$IPTABLES -A OUTPUT -p ALL -s $LO_IP -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -s $LAN_IP -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -s $INET_IP -j ACCEPT

# POSTROUTING chain
#Ходить через NAT на почту
$IPTABLES -t nat -A POSTROUTING -p TCP -s 192.168.50.0/24 --dport 25 -o $INET_IFACE -j SNAT --to-source $INET_IP
$IPTABLES -t nat -A POSTROUTING -p TCP -s 192.168.50.0/24 --dport 110 -o $INET_IFACE -j SNAT --to-source $INET_IP
#Через на на 1753 порт для VPN
$IPTABLES -t nat -A POSTROUTING -p TCP -s 192.168.50.0/24 --dport 1753 -o $INET_IFACE -j SNAT --to-source $INET_IP

=====================
Для VPN добавлял, изменял огромное кол-во вариантов цепочек, все и не упомню. Но доходит до полного абсурда и логично, что не работает :(((
Цепочки примерно такие:
$IPTABLES -A INPUT -p 47 -i eth1 -s 192.168.50.0/24 -j ACCEPT
$IPTABLES -A FORWARD -p TCP -s 192.168.50.0/24 -j ACCEPT
$IPTABLES -A OUTPUT -p 47 -o eth2 -s 192.168.50.0/24 -j ACCEPT
$IPTABLES -A OUTPUT -p TCP -s 192.168.50.0/24 --sport 1753 -j ACCEPT

Как видите до пингования из локальной сети дело еще не дошло :(

Да, роутинг следующий:
route add -host 192.168.20.30 netmask 0.0.0.0 gw 192.168.80.40 dev ppp0

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

7. "VPN + NAT в IPtables"  
Сообщение от wital on 03-Апр-09, 04:37 
А если поставить вместо 1753 порт 1723, и включить логирование дропнутых пакетов.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "VPN + NAT в IPtables"  
Сообщение от Ramaloke (ok) on 03-Апр-09, 11:31 
>А если поставить вместо 1753 порт 1723, и включить логирование дропнутых пакетов.
>

Упс, порты попутал. Но результата ноль.
Логгирование включено. Хотя кроме /proc/net/nf_conntrack я других логов не могу найти. Из указанного мало полезной инфы:

ipv4     2 tcp      6 118 SYN_SENT src=192.168.1.2 dst=89.202.157.202 sport=52938 dport=80 packets=1 bytes=60 [UNREPLIED] src=89.202.157.202 dst=192.168.1.2 sport=80 dport=52938 packets=0 bytes=0 mark=0 secmark=0 use=1
ipv4     2 tcp      6 431958 ESTABLISHED src=192.168.50.14 dst=192.168.50.77 sport=3038 dport=3128 packets=106 bytes=12325 src=192.168.50.77 dst=192.168.50.14 sport=3128 dport=3038 packets=118 bytes=18470 [ASSURED] mark=0 secmark=0 use=1
ipv4     2 unknown  47 590 src=192.168.1.2 dst=*VPN remote IP* packets=329 bytes=15997 src=*VPN remote IP* dst=192.168.1.2 packets=361 bytes=20127 mark=0 secmark=0 use=1
ipv4     2 tcp      6 96 TIME_WAIT src=192.168.50.14 dst=192.168.50.77 sport=3093 dport=3128 packets=37 bytes=1796 src=192.168.50.77 dst=192.168.50.14 sport=3128 dport=3093 packets=65 bytes=87198 [ASSURED] mark=0 secmark=0 use=1
ipv4     2 tcp      6 431988 ESTABLISHED src=192.168.1.2 dst=*VPN remote IP* sport=53001 dport=1723 packets=6 bytes=644 src=*VPN remote IP* dst=192.168.1.2 sport=1723 dport=53001 packets=3 bytes=352 [ASSURED] mark=0 secmark=0 use=1
ipv4     2 tcp      6 95 TIME_WAIT src=192.168.50.14 dst=192.168.50.77 sport=3092 dport=3128 packets=5 bytes=512 src=192.168.50.77 dst=192.168.50.14 sport=3128 dport=3092 packets=5 bytes=1543 [ASSURED] mark=0 secmark=0 use=1
ipv4     2 tcp      6 431999 ESTABLISHED src=192.168.50.14 dst=192.168.50.77 sport=3032 dport=22 packets=12471 bytes=1084735 src=192.168.50.77 dst=192.168.50.14 sport=22 dport=3032 packets=14529 bytes=3432520 [ASSURED] mark=0 secmark=0 use=1
ipv4     2 udp      17 178 src=192.168.1.2 dst=192.168.1.1 sport=55607 dport=53 packets=2 bytes=117 src=192.168.1.1 dst=192.168.1.2 sport=53 dport=55607 packets=2 bytes=549 [ASSURED] mark=0 secmark=0 use=1
ipv4     2 tcp      6 431998 ESTABLISHED src=192.168.50.14 dst=192.168.50.77 sport=3094 dport=3128 packets=4 bytes=2465 src=192.168.50.77 dst=192.168.50.14 sport=3128 dport=3094 packets=3 bytes=128 [ASSURED] mark=0 secmark=0 use=1
ipv4     2 tcp      6 431958 ESTABLISHED src=192.168.1.2 dst=209.85.137.125 sport=60933 dport=5223 packets=108 bytes=12422 src=209.85.137.125 dst=192.168.1.2 sport=5223 dport=60933 packets=108 bytes=18027 [ASSURED] mark=0 secmark=0 use=1

*VPN remote IP* - адрес ВПН сервера, который при подключении выдает локальный 192.168.80.40

В rsyslog.conf вывел логи info в отдельный файл, но там мусор сплошной и инфы по пакетам и т.д. нету.
=====================
Также прилагаю iptables-save, так наверное все-же очевиднее будет, что творится:

# Generated by iptables-save v1.4.0 on Fri Apr  3 13:28:21 2009
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
:allowed - [0:0]
:bad_tcp_packets - [0:0]
:icmp_packets - [0:0]
:tcp_packets - [0:0]
:udp_packets - [0:0]
-A INPUT -p tcp -j bad_tcp_packets
-A INPUT -s 192.168.50.0/24 -i eth2 -j ACCEPT
-A INPUT -s 127.0.0.1/32 -i lo -j ACCEPT
-A INPUT -s 192.168.50.77/24 -i lo -j ACCEPT
-A INPUT -s 192.168.1.2/24 -i lo -j ACCEPT
-A INPUT -i eth2 -p udp -m udp --sport 68 --dport 67 -j ACCEPT
-A INPUT -d 192.168.1.2/24 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth1 -p tcp -j tcp_packets
-A INPUT -i eth1 -p udp -j udp_packets
-A INPUT -i eth1 -p icmp -j icmp_packets
-A INPUT -m limit --limit 3/min --limit-burst 3 -j LOG --log-prefix "IPT INPUT packet died: " --log-level 7
-A FORWARD -p tcp -j bad_tcp_packets
-A FORWARD -i eth2 -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -p gre -j ACCEPT
-A FORWARD -p tcp -m tcp --dport 1723 -j ACCEPT
-A FORWARD -m limit --limit 3/min --limit-burst 3 -j LOG --log-prefix "IPT FORWARD packet died: " --log-level 7
-A OUTPUT -p tcp -j bad_tcp_packets
-A OUTPUT -s 127.0.0.1/32 -j ACCEPT
-A OUTPUT -s 192.168.50.77/24 -j ACCEPT
-A OUTPUT -s 192.168.1.2/24 -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 1723 -j ACCEPT
-A OUTPUT -p gre -j ACCEPT
-A OUTPUT -m limit --limit 3/min --limit-burst 3 -j LOG --log-prefix "IPT OUTPUT packet died: " --log-level 7
-A allowed -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT
-A allowed -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A allowed -p tcp -j DROP
-A bad_tcp_packets -p tcp -m tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset
-A bad_tcp_packets -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j LOG --log-prefix "New not syn:"
-A bad_tcp_packets -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP
-A icmp_packets -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A icmp_packets -p icmp -m icmp --icmp-type 11 -j ACCEPT
-A tcp_packets -p tcp -m tcp --dport 21 -j allowed
-A tcp_packets -p tcp -m tcp --dport 22 -j allowed
-A tcp_packets -p tcp -m tcp --dport 113 -j allowed
-A tcp_packets -p tcp -m tcp --dport 3128 -j allowed
-A udp_packets -p udp -m udp --dport 2074 -j ACCEPT
-A udp_packets -p udp -m udp --dport 4000 -j ACCEPT
COMMIT
# Completed on Fri Apr  3 13:28:21 2009
# Generated by iptables-save v1.4.0 on Fri Apr  3 13:28:21 2009
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A POSTROUTING -s 192.168.50.0/24 -o eth1 -p tcp -m tcp --dport 25 -j SNAT --to-source 192.168.1.2
-A POSTROUTING -s 192.168.50.0/24 -o eth1 -p tcp -m tcp --dport 110 -j SNAT --to-source 192.168.1.2
COMMIT
# Completed on Fri Apr  3 13:28:21 2009
# Generated by iptables-save v1.4.0 on Fri Apr  3 13:28:21 2009
*mangle
:PREROUTING ACCEPT [150:12552]
:INPUT ACCEPT [26633:3788214]
:FORWARD ACCEPT [10:580]
:OUTPUT ACCEPT [192:43020]
:POSTROUTING ACCEPT [27648:6141062]
COMMIT
# Completed on Fri Apr  3 13:28:21 2009

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

9. "VPN + NAT в IPtables"  
Сообщение от reader (ok) on 03-Апр-09, 13:34 
>[оверквотинг удален]
># Generated by iptables-save v1.4.0 on Fri Apr  3 13:28:21 2009
>
>*mangle
>:PREROUTING ACCEPT [150:12552]
>:INPUT ACCEPT [26633:3788214]
>:FORWARD ACCEPT [10:580]
>:OUTPUT ACCEPT [192:43020]
>:POSTROUTING ACCEPT [27648:6141062]
>COMMIT
># Completed on Fri Apr  3 13:28:21 2009

при поднятии vpn у вас создается интерфейс, разрешите хождение пакетов через него.
у вас сделано логирование пакетов не попавших в правила, ищите в /var/log/* (зависит от дистрибутива)
при прописывании маршрута не используйте маску 0.0.0.0

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

10. "VPN + NAT в IPtables"  
Сообщение от Ramaloke (ok) on 03-Апр-09, 14:53 
>[оверквотинг удален]
>>:OUTPUT ACCEPT [192:43020]
>>:POSTROUTING ACCEPT [27648:6141062]
>>COMMIT
>># Completed on Fri Apr  3 13:28:21 2009
>
>при поднятии vpn у вас создается интерфейс, разрешите хождение пакетов через него.
>
>у вас сделано логирование пакетов не попавших в правила, ищите в /var/log/*
>(зависит от дистрибутива)
>при прописывании маршрута не используйте маску 0.0.0.0

По маршрутам понял, уберу маску вообще.

По интерфейсу ррр0 создал такие правила (голова уже совсем не варит):
$IPTABLES -A INPUT -p TCP -i ppp0 --dport 1723 -j ACCEPT
$IPTABLES -A OUTPUT -p TCP -0 ppp0 --dport 1723 -j ACCEPT
$IPTABLES -A OUTPUT -p 47 -0 ppp0 -j ACCEPT

Пока без изменений.

Логи вроде в messages идут. Тут по впн такое только нашел:
Apr  3 17:13:20 Kolibry pppd[5186]: pppd 2.4.4 started by root, uid 0
Apr  3 17:13:20 Kolibry pptp[5188]: anon log[main:pptp.c:314]: The synchronous pptp option is NOT activated
Apr  3 17:13:20 Kolibry pppd[5186]: Using interface ppp0
Apr  3 17:13:20 Kolibry pppd[5186]: Connect: ppp0 <--> /dev/pts/1
Apr  3 17:13:20 Kolibry pptp[5197]: anon log[ctrlp_rep:pptp_ctrl.c:251]: Sent control packet type is 1 'Start-Control-Connection-Request'
Apr  3 17:13:20 Kolibry pptp[5197]: anon log[ctrlp_disp:pptp_ctrl.c:739]: Received Start Control Connection Reply
Apr  3 17:13:20 Kolibry pptp[5197]: anon log[ctrlp_disp:pptp_ctrl.c:773]: Client connection established.
Apr  3 17:13:21 Kolibry pptp[5197]: anon log[ctrlp_rep:pptp_ctrl.c:251]: Sent control packet type is 7 'Outgoing-Call-Request'
Apr  3 17:13:21 Kolibry pptp[5197]: anon log[ctrlp_disp:pptp_ctrl.c:858]: Received Outgoing Call Reply.
Apr  3 17:13:21 Kolibry pptp[5197]: anon log[ctrlp_disp:pptp_ctrl.c:897]: Outgoing call established (call ID 0, peer's call ID 56093).
Apr  3 17:13:24 Kolibry pppd[5186]: CHAP authentication succeeded
Apr  3 17:13:24 Kolibry pppd[5186]: local  IP address 192.168.80.40
Apr  3 17:13:24 Kolibry pppd[5186]: remote IP address ***
Apr  3 17:13:26 Kolibry pppd[5186]: CCP terminated by peer
Apr  3 17:13:26 Kolibry pppd[5186]: Compression disabled by peer.
Apr  3 17:13:29 Kolibry snmpd[1813]: netsnmp_assert index == tmp failed if-mib/data_access/interface.c:469 _access_interface_entry_save_name()
Apr  3 17:13:40 Kolibry pptp[5197]: anon log[callmgr_main:pptp_callmgr.c:258]: Closing connection (shutdown)
Apr  3 17:13:40 Kolibry pptp[5197]: anon log[ctrlp_rep:pptp_ctrl.c:251]: Sent control packet type is 12 'Call-Clear-Request'
Apr  3 17:13:40 Kolibry pptp[5197]: anon log[call_callback:pptp_callmgr.c:79]: Closing connection (call state)
Apr  3 17:13:40 Kolibry pppd[5186]: Terminating on signal 15
Apr  3 17:13:40 Kolibry pppd[5186]: Modem hangup
Apr  3 17:13:40 Kolibry pppd[5186]: Connect time 0.3 minutes.
Apr  3 17:13:40 Kolibry pppd[5186]: Sent 22 bytes, received 22 bytes.
Apr  3 17:13:40 Kolibry pppd[5186]: Connection terminated.
Apr  3 17:13:41 Kolibry pppd[5186]: Exit.

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

11. "VPN + NAT в IPtables"  
Сообщение от reader (ok) on 03-Апр-09, 15:22 
>[оверквотинг удален]
>По маршрутам понял, уберу маску вообще.
>
>По интерфейсу ррр0 создал такие правила (голова уже совсем не варит):
>$IPTABLES -A INPUT -p TCP -i ppp0 --dport 1723 -j ACCEPT
>$IPTABLES -A OUTPUT -p TCP -0 ppp0 --dport 1723 -j ACCEPT
>$IPTABLES -A OUTPUT -p 47 -0 ppp0 -j ACCEPT
>
>Пока без изменений.
>
>Логи пока ищу... (Fedora release 9 (Sulphur); ядро: 2.6.25-14.fc9.i686).

уберите пока ограничения
$IPTABLES -A INPUT -i ppp0 -j ACCEPT
$IPTABLES -A OUTPUT -0 ppp0 -j ACCEPT

в Fedora скорей всего в messages

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

12. "VPN + NAT в IPtables"  
Сообщение от Ramaloke (ok) on 03-Апр-09, 15:35 
>[оверквотинг удален]
>>
>>Пока без изменений.
>>
>>Логи пока ищу... (Fedora release 9 (Sulphur); ядро: 2.6.25-14.fc9.i686).
>
>уберите пока ограничения
>$IPTABLES -A INPUT -i ppp0 -j ACCEPT
>$IPTABLES -A OUTPUT -0 ppp0 -j ACCEPT
>
>в Fedora скорей всего в messages

Убрал все записи связанные с протоколом 47, портом 1723 и девайсом ppp0.
Логично, что не пингуется ничего, но в messages такие же записи, что и выше.

Рисую схему с 0.
По ВПН подключается сервер.
Исходящий интерфейс ррр0 (ррр+), а также eth1 с которого идет подключение по впн.
Т.к. пакеты идут с сервера, то значит нам надо OUTPUT с интерфейсов ppp0 и eth1 по протоколу 47 и на порт 1753 по протоколу TCP.

$IPTABLES -A OUTPUT -p TCP -o ppp0 --dport 1723 -j ACCEPT
$IPTABLES -A OUTPUT -p TCP -o eth1 --dport 1723 -j ACCEPT
$IPTABLES -A OUTPUT -p 47 -o ppp0 -j ACCEPT
$IPTABLES -A OUTPUT -p 47 -o eth1 -j ACCEPT

Про INPUT тоде не забыл:
$IPTABLES -A INPUT -p TCP -i ppp0 --dport 1723 -j ACCEPT
$IPTABLES -A INPUT -p TCP -i eth1 --dport 1723 -j ACCEPT
$IPTABLES -A INPUT -p 47 -i ppp0 -j ACCEPT
$IPTABLES -A INPUT -p 47 -i eth1 -j ACCEPT

Так-с, работает (забыл про "прописать" интерфейс ррр0).

Теперь надо сделать чтобы из локальной сети пользователи через NAT шли по впн к базе данных.

Это надо POSTROUTING и FORWARD цепочки добавить выходит.

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

13. "VPN + NAT в IPtables"  
Сообщение от reader (ok) on 03-Апр-09, 16:24 
>[оверквотинг удален]
>>уберите пока ограничения
>>$IPTABLES -A INPUT -i ppp0 -j ACCEPT
>>$IPTABLES -A OUTPUT -0 ppp0 -j ACCEPT
>>
>>в Fedora скорей всего в messages
>
>Убрал все записи связанные с протоколом 47, портом 1723 и девайсом ppp0.
>
>Логично, что не пингуется ничего, но в messages такие же записи, что
>и выше.

может и не в messages, ищите в файлах по "IPT".
если в /etc/syslog.conf
kern.*                                                 /dev/console
то может и на первую локальную консоль
>[оверквотинг удален]
>$IPTABLES -A OUTPUT -p TCP -o ppp0 --dport 1723 -j ACCEPT
>$IPTABLES -A OUTPUT -p TCP -o eth1 --dport 1723 -j ACCEPT
>$IPTABLES -A OUTPUT -p 47 -o ppp0 -j ACCEPT
>$IPTABLES -A OUTPUT -p 47 -o eth1 -j ACCEPT
>
>Про INPUT тоде не забыл:
>$IPTABLES -A INPUT -p TCP -i ppp0 --dport 1723 -j ACCEPT
>$IPTABLES -A INPUT -p TCP -i eth1 --dport 1723 -j ACCEPT
>$IPTABLES -A INPUT -p 47 -i ppp0 -j ACCEPT
>$IPTABLES -A INPUT -p 47 -i eth1 -j ACCEPT

если порт 1723 и протокол 47 используется для поднятия ppp+, то тут строчки с ppp0 лишние
>
>Так-с, работает (забыл про "прописать" интерфейс ррр0).
>
>Теперь надо сделать чтобы из локальной сети пользователи через NAT шли по
>впн к базе данных.
>
>Это надо POSTROUTING и FORWARD цепочки добавить выходит.

да, с указанием интерфейса ppp+

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

14. "VPN + NAT в IPtables"  
Сообщение от Ramaloke (ok) on 03-Апр-09, 17:00 
>[оверквотинг удален]
>строчки с ppp0 лишние
>>
>>Так-с, работает (забыл про "прописать" интерфейс ррр0).
>>
>>Теперь надо сделать чтобы из локальной сети пользователи через NAT шли по
>>впн к базе данных.
>>
>>Это надо POSTROUTING и FORWARD цепочки добавить выходит.
>
>да, с указанием интерфейса ppp+

С пустой таблицей пинговал. Все-таки шаг назад, не проходит пакет по INPUT, OUTPUT.

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

15. "VPN + NAT в IPtables"  
Сообщение от reader (ok) on 03-Апр-09, 17:07 
>[оверквотинг удален]
>>>
>>>Теперь надо сделать чтобы из локальной сети пользователи через NAT шли по
>>>впн к базе данных.
>>>
>>>Это надо POSTROUTING и FORWARD цепочки добавить выходит.
>>
>>да, с указанием интерфейса ppp+
>
>С пустой таблицей пинговал. Все-таки шаг назад, не проходит пакет по INPUT,
>OUTPUT.

не понял, с
$IPTABLES -A INPUT -i ppp0 -j ACCEPT
$IPTABLES -A OUTPUT -0 ppp0 -j ACCEPT

не работает?

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

16. "VPN + NAT в IPtables"  
Сообщение от Ramaloke (ok) on 03-Апр-09, 17:10 
>[оверквотинг удален]
>>>да, с указанием интерфейса ppp+
>>
>>С пустой таблицей пинговал. Все-таки шаг назад, не проходит пакет по INPUT,
>>OUTPUT.
>
>не понял, с
>$IPTABLES -A INPUT -i ppp0 -j ACCEPT
>$IPTABLES -A OUTPUT -0 ppp0 -j ACCEPT
>
>не работает?

Нет.
ping: sendmsg: Операция не позволяется

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

17. "VPN + NAT в IPtables"  
Сообщение от reader (ok) on 03-Апр-09, 17:26 
>[оверквотинг удален]
>>>OUTPUT.
>>
>>не понял, с
>>$IPTABLES -A INPUT -i ppp0 -j ACCEPT
>>$IPTABLES -A OUTPUT -0 ppp0 -j ACCEPT
>>
>>не работает?
>
>Нет.
>ping: sendmsg: Операция не позволяется

если изменить на это

$IPTABLES -A INPUT -s 192.168.20.30 -j ACCEPT
$IPTABLES -A OUTPUT -d 192.168.20.30 -j ACCEPT
$IPTABLES -A FORWARD -s 192.168.20.30 -j ACCEPT
$IPTABLES -A FORWARD -d 192.168.20.30 -j ACCEPT

и найдите куда пишутся логи iptables по словам:
"IPT INPUT packet died" "IPT FORWARD packet died" "IPT OUTPUT packet died" - будет легче

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

18. "VPN + NAT в IPtables"  
Сообщение от Ramaloke (ok) on 03-Апр-09, 17:57 
>[оверквотинг удален]
>если изменить на это
>
>$IPTABLES -A INPUT -s 192.168.20.30 -j ACCEPT
>$IPTABLES -A OUTPUT -d 192.168.20.30 -j ACCEPT
>$IPTABLES -A FORWARD -s 192.168.20.30 -j ACCEPT
>$IPTABLES -A FORWARD -d 192.168.20.30 -j ACCEPT
>
>и найдите куда пишутся логи iptables по словам:
>"IPT INPUT packet died" "IPT FORWARD packet died" "IPT OUTPUT packet died"
>- будет легче

Изменить не поможет. А вот добавив правила в INPUT и OUTPUT на адреса впн и роутинга - все начало работать.
Форвард тут лишний...пока что.
Теперь шаг можно зафиксировать, как пройденный. Следующий - нат.

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

19. "VPN + NAT в IPtables"  
Сообщение от reader (ok) on 03-Апр-09, 18:11 
>[оверквотинг удален]
>>$IPTABLES -A OUTPUT -d 192.168.20.30 -j ACCEPT
>>$IPTABLES -A FORWARD -s 192.168.20.30 -j ACCEPT
>>$IPTABLES -A FORWARD -d 192.168.20.30 -j ACCEPT
>>
>>и найдите куда пишутся логи iptables по словам:
>>"IPT INPUT packet died" "IPT FORWARD packet died" "IPT OUTPUT packet died"
>>- будет легче
>
>Изменить не поможет. А вот добавив правила в INPUT и OUTPUT на
>адреса впн и роутинга - все начало работать.

интересные странности или я не понял вашей топологии, но в любом случае уже интересно будет  увидеть окончательный вариант правил и кстати интерфейс в ifconfig всегда видится как ppp0
>Форвард тут лишний...пока что.
>Теперь шаг можно зафиксировать, как пройденный. Следующий - нат.

делайте пока с указанием -d 192.168.20.30 без указания других ограничений

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

20. "VPN + NAT в IPtables"  
Сообщение от Ramaloke (ok) on 03-Апр-09, 20:38 
>[оверквотинг удален]
>>>
>>>и найдите куда пишутся логи iptables по словам:
>>>"IPT INPUT packet died" "IPT FORWARD packet died" "IPT OUTPUT packet died"
>>>- будет легче
>>
>>Изменить не поможет. А вот добавив правила в INPUT и OUTPUT на
>>адреса впн и роутинга - все начало работать.
>
>интересные странности или я не понял вашей топологии, но в любом случае
>уже интересно будет  увидеть окончательный вариант правил и кстати интерфейс

Топология простая:
сеть -- сервер --- дсл модем
Дсл модем подключается и держит соединение РРРоЕ.
Сервер выступает в роли фаерволла и NAT (iptables), а аткже клиентом VPN.
Подключаясь к VPN серверу он получает IP (192.168.80.40), через который (прописан маршрут) надо попасть в сеть к БД (192.168.20.30).
Пользователи из локальной сети посредством NAT подключаются к базе данных.

Как все вопросы улягутся и задача решится, то окончательный вариант правил выложу (может быть кому-нибудь поможет и он не будет столько биться, как я).

>в ifconfig всегда видится как ppp0
>>Форвард тут лишний...пока что.
>>Теперь шаг можно зафиксировать, как пройденный. Следующий - нат.
>
>делайте пока с указанием -d 192.168.20.30 без указания других ограничений

Да, интерфейс всегда ррр0 видится.

На данный момент сервер нормально пингует адреса впн. Локальная сеть пинговать адреса впн отказывается.

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

21. "VPN + NAT в IPtables"  
Сообщение от reader (ok) on 03-Апр-09, 22:10 
>[оверквотинг удален]
>>в ifconfig всегда видится как ppp0
>>>Форвард тут лишний...пока что.
>>>Теперь шаг можно зафиксировать, как пройденный. Следующий - нат.
>>
>>делайте пока с указанием -d 192.168.20.30 без указания других ограничений
>
>Да, интерфейс всегда ррр0 видится.
>
>На данный момент сервер нормально пингует адреса впн. Локальная сеть пинговать адреса
>впн отказывается.

теперь запускайте tcpdump и смотрите что приходит из локалки и что куда отправляется

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

22. "VPN + NAT в IPtables"  
Сообщение от Ramaloke (ok) on 05-Апр-09, 23:58 
>[оверквотинг удален]
>>>
>>>делайте пока с указанием -d 192.168.20.30 без указания других ограничений
>>
>>Да, интерфейс всегда ррр0 видится.
>>
>>На данный момент сервер нормально пингует адреса впн. Локальная сеть пинговать адреса
>>впн отказывается.
>
>теперь запускайте tcpdump и смотрите что приходит из локалки и что куда
>отправляется

Пингуя из сети адреса 192.168.80.40 и 192.168.20.30 tcpdump показывает, что запросы идут (tcpdump dst host 192.169.20.30 (192.168.80.40)), а вот ответа (tcpdump src host 192.169.20.30 (192.168.80.40)) нету.

Мысль прописать НАТ в впн-сеть и далее вот такая:
$IPTABLES -t nat -A POSTROUTING -p TCP -s 192.168.50.0/24 -d 192.168.80.40 -j SNAT --to-source 192.168.1.2
$IPTABLES -t nat -A POSTROUTING -p TCP -s 192.168.50.0/24 -d 192.168.20.30 -j SNAT --to-source 192.168.80.40

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

23. "VPN + NAT в IPtables"  
Сообщение от reader (ok) on 06-Апр-09, 10:14 
>[оверквотинг удален]
>>>
>>>На данный момент сервер нормально пингует адреса впн. Локальная сеть пинговать адреса
>>>впн отказывается.
>>
>>теперь запускайте tcpdump и смотрите что приходит из локалки и что куда
>>отправляется
>
>Пингуя из сети адреса 192.168.80.40 и 192.168.20.30 tcpdump показывает, что запросы идут
>(tcpdump dst host 192.169.20.30 (192.168.80.40)), а вот ответа (tcpdump src host
>192.169.20.30 (192.168.80.40)) нету.

возможно 192.169.20.30 (192.168.80.40) не знает где искать адреса локалки из которой пингуете, смотрите таблицу маршрутизации на них
>
>Мысль прописать НАТ в впн-сеть и далее вот такая:
>$IPTABLES -t nat -A POSTROUTING -p TCP -s 192.168.50.0/24 -d 192.168.80.40 -j
>SNAT --to-source 192.168.1.2
>$IPTABLES -t nat -A POSTROUTING -p TCP -s 192.168.50.0/24 -d 192.168.20.30 -j
>SNAT --to-source 192.168.80.40

так натиться будет только протокол TCP, пинги не будут, другой протокол

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

24. "VPN + NAT в IPtables"  
Сообщение от Ramaloke (ok) on 06-Апр-09, 10:37 
>[оверквотинг удален]
>>>
>>>теперь запускайте tcpdump и смотрите что приходит из локалки и что куда
>>>отправляется
>>
>>Пингуя из сети адреса 192.168.80.40 и 192.168.20.30 tcpdump показывает, что запросы идут
>>(tcpdump dst host 192.169.20.30 (192.168.80.40)), а вот ответа (tcpdump src host
>>192.169.20.30 (192.168.80.40)) нету.
>
>возможно 192.169.20.30 (192.168.80.40) не знает где искать адреса локалки из которой пингуете,
>смотрите таблицу маршрутизации на них

Хм, к сожалению доступа к этим хостам (физически) нету.

>>
>>Мысль прописать НАТ в впн-сеть и далее вот такая:
>>$IPTABLES -t nat -A POSTROUTING -p TCP -s 192.168.50.0/24 -d 192.168.80.40 -j
>>SNAT --to-source 192.168.1.2
>>$IPTABLES -t nat -A POSTROUTING -p TCP -s 192.168.50.0/24 -d 192.168.20.30 -j
>>SNAT --to-source 192.168.80.40
>
>так натиться будет только протокол TCP, пинги не будут, другой протокол

Тьфу, протокол можно -p ALL пока поставить.

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

25. "VPN + NAT в IPtables"  
Сообщение от reader (ok) on 06-Апр-09, 10:46 
>[оверквотинг удален]
>>>>отправляется
>>>
>>>Пингуя из сети адреса 192.168.80.40 и 192.168.20.30 tcpdump показывает, что запросы идут
>>>(tcpdump dst host 192.169.20.30 (192.168.80.40)), а вот ответа (tcpdump src host
>>>192.169.20.30 (192.168.80.40)) нету.
>>
>>возможно 192.169.20.30 (192.168.80.40) не знает где искать адреса локалки из которой пингуете,
>>смотрите таблицу маршрутизации на них
>
>Хм, к сожалению доступа к этим хостам (физически) нету.

тогда NAT вам в помощь
>[оверквотинг удален]
>>>
>>>Мысль прописать НАТ в впн-сеть и далее вот такая:
>>>$IPTABLES -t nat -A POSTROUTING -p TCP -s 192.168.50.0/24 -d 192.168.80.40 -j
>>>SNAT --to-source 192.168.1.2
>>>$IPTABLES -t nat -A POSTROUTING -p TCP -s 192.168.50.0/24 -d 192.168.20.30 -j
>>>SNAT --to-source 192.168.80.40
>>
>>так натиться будет только протокол TCP, пинги не будут, другой протокол
>
>Тьфу, протокол можно -p ALL пока поставить.

можно и на дольше, а в FORWARD отфильтровать кому что можно

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

26. "VPN + NAT в IPtables"  
Сообщение от Ramaloke (ok) on 06-Апр-09, 12:30 
>[оверквотинг удален]
>>>>$IPTABLES -t nat -A POSTROUTING -p TCP -s 192.168.50.0/24 -d 192.168.80.40 -j
>>>>SNAT --to-source 192.168.1.2
>>>>$IPTABLES -t nat -A POSTROUTING -p TCP -s 192.168.50.0/24 -d 192.168.20.30 -j
>>>>SNAT --to-source 192.168.80.40
>>>
>>>так натиться будет только протокол TCP, пинги не будут, другой протокол
>>
>>Тьфу, протокол можно -p ALL пока поставить.
>
>можно и на дольше, а в FORWARD отфильтровать кому что можно

Проблема в цепочке OUTPUT.
Ставлю политику по-умолчанию ACCEPT и пингуются оба vpn IP.
Хм.

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

27. "VPN + NAT в IPtables"  
Сообщение от reader (ok) on 06-Апр-09, 13:37 
>[оверквотинг удален]
>>>>>SNAT --to-source 192.168.80.40
>>>>
>>>>так натиться будет только протокол TCP, пинги не будут, другой протокол
>>>
>>>Тьфу, протокол можно -p ALL пока поставить.
>>
>>можно и на дольше, а в FORWARD отфильтровать кому что можно
>
>Проблема в цепочке OUTPUT.
>Ставлю политику по-умолчанию ACCEPT и пингуются оба vpn IP.

пингуете из локалки или с сервера?
>Хм.

без текущих правил даже при большом желании мысли не появятся.
iptables-save -c показывайте если нужен какой-то ответ.

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

28. "VPN + NAT в IPtables"  
Сообщение от reader (ok) on 06-Апр-09, 13:38 
>[оверквотинг удален]
>>>можно и на дольше, а в FORWARD отфильтровать кому что можно
>>
>>Проблема в цепочке OUTPUT.
>>Ставлю политику по-умолчанию ACCEPT и пингуются оба vpn IP.
>
>пингуете из локалки или с сервера?
>>Хм.
>
>без текущих правил даже при большом желании мысли не появятся.
>iptables-save -c показывайте если нужен какой-то ответ.

и адреса с какого какой пингуете

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

29. "VPN + NAT в IPtables"  
Сообщение от Ramaloke (ok) on 06-Апр-09, 14:59 
>[оверквотинг удален]
>>>Проблема в цепочке OUTPUT.
>>>Ставлю политику по-умолчанию ACCEPT и пингуются оба vpn IP.
>>
>>пингуете из локалки или с сервера?
>>>Хм.
>>
>>без текущих правил даже при большом желании мысли не появятся.
>>iptables-save -c показывайте если нужен какой-то ответ.
>
>и адреса с какого какой пингуете

# Generated by iptables-save v1.4.0 on Mon Apr  6 16:50:13 2009
*mangle
:PREROUTING ACCEPT [14931:5801601]
:INPUT ACCEPT [250415:69917025]
:FORWARD ACCEPT [73903:33526804]
:OUTPUT ACCEPT [7069:1192882]
:POSTROUTING ACCEPT [331132:110211330]
COMMIT
# Completed on Mon Apr  6 16:50:13 2009
# Generated by iptables-save v1.4.0 on Mon Apr  6 16:50:13 2009
*nat
:PREROUTING ACCEPT [510:31781]
:POSTROUTING ACCEPT [97:7045]
:OUTPUT ACCEPT [96:6985]
[377:18324] -A POSTROUTING -s 192.168.50.0/24 -o eth1 -j SNAT --to-source 192.168.1.2
[0:0] -A POSTROUTING -s 192.168.50.0/24 -d 192.168.80.40/32 -o ppp+ -j SNAT --to-source 192.168.1.2
[23:1332] -A POSTROUTING -s 192.168.50.0/24 -d 192.168.80.40/32 -o ppp+ -j SNAT --to-source 192.168.80.40
COMMIT
# Completed on Mon Apr  6 16:50:13 2009
# Generated by iptables-save v1.4.0 on Mon Apr  6 16:50:13 2009
*filter
:INPUT DROP [84:11676]
:FORWARD DROP [10:528]
:OUTPUT ACCEPT [1:60]
:allowed - [0:0]
:bad_tcp_packets - [0:0]
:icmp_packets - [0:0]
:tcp_packets - [0:0]
:udp_packets - [0:0]
[4282:633984] -A INPUT -p tcp -j bad_tcp_packets
[3481:317248] -A INPUT -s 192.168.50.0/24 -i eth2 -j ACCEPT
[630:94077] -A INPUT -s 127.0.0.1/32 -i lo -j ACCEPT
[0:0] -A INPUT -s 192.168.50.77/32 -i lo -j ACCEPT
[0:0] -A INPUT -s 192.168.1.2/32 -i lo -j ACCEPT
[123:130379] -A INPUT -i ppp0 -j ACCEPT
[2:168] -A INPUT -s 192.168.80.40/32 -j ACCEPT
[1928:1560817] -A INPUT -i eth1 -p gre -j ACCEPT
[0:0] -A INPUT -i eth1 -p tcp -m tcp --dport 1723 -j ACCEPT
[0:0] -A INPUT -i eth2 -p udp -m udp --sport 68 --dport 67 -j ACCEPT
[602:182921] -A INPUT -d 192.168.1.2/32 -m state --state RELATED,ESTABLISHED -j ACCEPT
[21:1634] -A INPUT -i eth1 -p tcp -j tcp_packets
[62:8589] -A INPUT -i eth1 -p udp -j udp_packets
[0:0] -A INPUT -i eth1 -p icmp -j icmp_packets
[52:8415] -A INPUT -m limit --limit 3/min --limit-burst 3 -j LOG --log-prefix "IPT INPUT packet died: " --log-level 7
[7613:3467698] -A FORWARD -p tcp -j bad_tcp_packets
[3905:670908] -A FORWARD -i eth2 -j ACCEPT
[4103:2828349] -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
[6:336] -A FORWARD -m limit --limit 3/min --limit-burst 3 -j LOG --log-prefix "IPT FORWARD packet died: " --log-level 7
[4904:922103] -A OUTPUT -p tcp -j bad_tcp_packets
[630:94077] -A OUTPUT -s 127.0.0.1/32 -j ACCEPT
[4153:839325] -A OUTPUT -s 192.168.50.77/32 -j ACCEPT
[2245:242887] -A OUTPUT -s 192.168.1.2/32 -j ACCEPT
[2:168] -A OUTPUT -o ppp0 -j ACCEPT
[2:168] -A OUTPUT -d 192.168.80.40/32 -j ACCEPT
[0:0] -A OUTPUT -o eth1 -p gre -j ACCEPT
[0:0] -A OUTPUT -o eth1 -p tcp -m tcp --dport 1723 -j ACCEPT
[0:0] -A OUTPUT -s 192.168.50.0/24 -d 192.168.80.40/32 -j ACCEPT
[0:0] -A OUTPUT -s 192.168.80.40/32 -d 192.168.20.30/32 -j ACCEPT
[1:60] -A OUTPUT -m limit --limit 3/min --limit-burst 3 -j LOG --log-prefix "IPT OUTPUT packet died: " --log-level 7
[0:0] -A OUTPUT -s 192.168.50.0/24 -d 192.168.80.40/32 -j ACCEPT
[0:0] -A allowed -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT
[21:1634] -A allowed -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
[0:0] -A allowed -p tcp -j DROP
[0:0] -A bad_tcp_packets -p tcp -m tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset
[6:300] -A bad_tcp_packets -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j LOG --log-prefix "New not syn:"
[6:300] -A bad_tcp_packets -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP
[0:0] -A icmp_packets -s 192.168.50.0/24 -p icmp -m icmp --icmp-type 8 -j ACCEPT
[0:0] -A icmp_packets -s 192.168.50.0/24 -p icmp -m icmp --icmp-type 11 -j ACCEPT
[0:0] -A tcp_packets -s 192.168.50.0/24 -p tcp -m tcp --dport 21 -j allowed
[18:1292] -A tcp_packets -s 192.168.50.0/24 -p tcp -m tcp --dport 22 -j allowed
[0:0] -A tcp_packets -s 192.168.50.0/24 -p tcp -m tcp --dport 113 -j allowed
[3:342] -A tcp_packets -s 192.168.50.0/24 -p tcp -m tcp --dport 3128 -j allowed
[0:0] -A udp_packets -s 192.168.50.0/24 -p udp -m udp --dport 2074 -j ACCEPT
[0:0] -A udp_packets -s 192.168.50.0/24 -p udp -m udp --dport 4000 -j ACCEPT
COMMIT
# Completed on Mon Apr  6 16:50:13 2009

Пингую (192.168.80.40 и 192.168.20.30) и с сервера (с сервера и при политике по-умолчанию DROP), и с локалки.

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

30. "VPN + NAT в IPtables"  
Сообщение от reader (ok) on 06-Апр-09, 15:57 
>[оверквотинг удален]
># Completed on Mon Apr  6 16:50:13 2009
># Generated by iptables-save v1.4.0 on Mon Apr  6 16:50:13 2009
>
>*nat
>:PREROUTING ACCEPT [510:31781]
>:POSTROUTING ACCEPT [97:7045]
>:OUTPUT ACCEPT [96:6985]
>[377:18324] -A POSTROUTING -s 192.168.50.0/24 -o eth1 -j SNAT --to-source 192.168.1.2
>[0:0] -A POSTROUTING -s 192.168.50.0/24 -d 192.168.80.40/32 -o ppp+ -j SNAT --to-source
>192.168.1.2

бредовое правило, маскировать адресом с eth1, то что должно уйти через ppp+, хорошо что не срабатывало, уберите его.

>[23:1332] -A POSTROUTING -s 192.168.50.0/24 -d 192.168.80.40/32 -o ppp+ -j SNAT --to-source
>192.168.80.40

192.168.80.40 это адрес на этой же машине, так? а маскироваться должно то что идет на 192.168.20.30? тогда
-A POSTROUTING -s 192.168.50.0/24 -d 192.168.20.30/32 -o ppp+ -j SNAT --to-source
192.168.80.40

>[оверквотинг удален]
>:icmp_packets - [0:0]
>:tcp_packets - [0:0]
>:udp_packets - [0:0]
>[4282:633984] -A INPUT -p tcp -j bad_tcp_packets
>[3481:317248] -A INPUT -s 192.168.50.0/24 -i eth2 -j ACCEPT
>[630:94077] -A INPUT -s 127.0.0.1/32 -i lo -j ACCEPT
>[0:0] -A INPUT -s 192.168.50.77/32 -i lo -j ACCEPT
>[0:0] -A INPUT -s 192.168.1.2/32 -i lo -j ACCEPT
>[123:130379] -A INPUT -i ppp0 -j ACCEPT
>[2:168] -A INPUT -s 192.168.80.40/32 -j ACCEPT

с самого себя?
-A INPUT -s 192.168.50.0/24 -d 192.168.80.40/32 -j ACCEPT
пока без протокола, разрешит из локалки пинговать 192.168.80.40

>[оверквотинг удален]
>[0:0] -A INPUT -i eth2 -p udp -m udp --sport 68 --dport
>67 -j ACCEPT
>[602:182921] -A INPUT -d 192.168.1.2/32 -m state --state RELATED,ESTABLISHED -j ACCEPT
>[21:1634] -A INPUT -i eth1 -p tcp -j tcp_packets
>[62:8589] -A INPUT -i eth1 -p udp -j udp_packets
>[0:0] -A INPUT -i eth1 -p icmp -j icmp_packets
>[52:8415] -A INPUT -m limit --limit 3/min --limit-burst 3 -j LOG --log-prefix
>"IPT INPUT packet died: " --log-level 7
>[7613:3467698] -A FORWARD -p tcp -j bad_tcp_packets
>[3905:670908] -A FORWARD -i eth2 -j ACCEPT

-A FORWARD -o ppp+ -j ACCEPT
иначе через ppp+ не разрешено устанавливать соединения
>[4103:2828349] -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT

только пакеты для установленного соединения
>[6:336] -A FORWARD -m limit --limit 3/min --limit-burst 3 -j LOG --log-prefix
>"IPT FORWARD packet died: " --log-level 7
>[4904:922103] -A OUTPUT -p tcp -j bad_tcp_packets
>[630:94077] -A OUTPUT -s 127.0.0.1/32 -j ACCEPT
>[4153:839325] -A OUTPUT -s 192.168.50.77/32 -j ACCEPT
>[2245:242887] -A OUTPUT -s 192.168.1.2/32 -j ACCEPT
>[2:168] -A OUTPUT -o ppp0 -j ACCEPT
>[2:168] -A OUTPUT -d 192.168.80.40/32 -j ACCEPT

исходящие самому себе?

>[0:0] -A OUTPUT -o eth1 -p gre -j ACCEPT
>[0:0] -A OUTPUT -o eth1 -p tcp -m tcp --dport 1723 -j
>ACCEPT
>[0:0] -A OUTPUT -s 192.168.50.0/24 -d 192.168.80.40/32 -j ACCEPT

не думаю что это понадобится, но пока оставте
>[0:0] -A OUTPUT -s 192.168.80.40/32 -d 192.168.20.30/32 -j ACCEPT

по идее до него не должно дойти из-зи
-A OUTPUT -o ppp0 -j ACCEPT, но пока оставте и по идее пинги с 192.168.80.40 на 192.168.20.30 должны ходить

>[оверквотинг удален]
>allowed
>[0:0] -A udp_packets -s 192.168.50.0/24 -p udp -m udp --dport 2074 -j
>ACCEPT
>[0:0] -A udp_packets -s 192.168.50.0/24 -p udp -m udp --dport 4000 -j
>ACCEPT
>COMMIT
># Completed on Mon Apr  6 16:50:13 2009
>
>Пингую (192.168.80.40 и 192.168.20.30) и с сервера (с сервера и при политике
>по-умолчанию DROP), и с локалки.

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

31. "VPN + NAT в IPtables"  
Сообщение от Ramaloke (ok) on 06-Апр-09, 21:30 
>бредовое правило, маскировать адресом с eth1, то что должно уйти через ppp+, хорошо что не срабатывало, уберите его.

Это NAT для выхода пользователей в инет :)))

С другими правилами экспериментирую. Сейчас доэкспериментился, что пинги опять пропали.
Позже отпишусь.

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

32. "VPN + NAT в IPtables"  
Сообщение от reader (ok) on 06-Апр-09, 22:10 
>>бредовое правило, маскировать адресом с eth1, то что должно уйти через ppp+, хорошо что не срабатывало, уберите его.
>
>Это NAT для выхода пользователей в инет :)))

нет, для выхода в инет выше :), а с счетчиками [0:0] ненужное
>
>С другими правилами экспериментирую. Сейчас доэкспериментился, что пинги опять пропали.
>Позже отпишусь.

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

33. " VPN + NAT в IPtables"  
Сообщение от Andrey Mitrofanov on 07-Апр-09, 09:09 
Ребят, а это у вас здесь что? В форум топ10 нимагуустановитьгенту побить собрались? Плохо стараетесь: обе стороны умеют писать слово "порт" и "пинг". :)
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

34. " VPN + NAT в IPtables"  
Сообщение от reader (ok) on 07-Апр-09, 10:03 
>Ребят, а это у вас здесь что? В форум топ10 нимагуустановитьгенту побить
>собрались? Плохо стараетесь: обе стороны умеют писать слово "порт" и "пинг".
>:)

это расслабленное подталкивание человека к чтению документации по работе сети, маршрутизации, iptables, как ему надоест гадать как же это должно работать, то поймет, что лучше день потерять, а потом за пять минут долететь (с)

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

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

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




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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