The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"NAT + ядерный IPFW + MPD5 Помогите найти ошибку."
Отправлено Александр, 19-Янв-14 15:17 
Добрый день Коллеги! Помогите разобраться, что происходит с серваком, я в тупике!
Что имеем:
Сервер с двумя сетевыми картами на FreeBsd 9.2 amd 64.
Age0 – локальная сеть
Rl0 – сеть провайдера
Локалка постоянный IP 192.168.1.1 маска 255.255.255.0
Сеть провайдера подключение по DHCP, получаю внутренний IP сети провайдера, dns, gateway
После запуска на rl0 поднимается mpd5 соединение pptp до провайдера, получается реальный IP, добавляться правила IPFW для интерфейса ng0, поднимается на нем NAT.
Проходит все гладко и ровно, но тут начинаются чудеса…
Ping с клиента проходит, DNS обрабатываться, внешние сайты пингуются, но зайти через браузер не получается. Уже передрал все, что можно, но результата ноль! Помогите разобраться, где ошибка!
Конфиги:
Ядро собрано с опциями
options    IPFIREWALL
options    IPFIREWALL_FORWARD
options    IPFIREWALL_VERBOSE
options    IPFIREWALL_VERBOSE_LIMIT=50
options    IPFIREWALL_DEFAULT_TO_ACCEPT
options    IPFIREWALL_NAT
options    ROUTETABLES=2
options    IPDIVERT
options    DUMMYNET
options    LIBALIAS

Rc.conf
hostname="*******.ru"
gateway_enable="YES"
dumpdev="AUTO"
keymap="ru.cp866.kbd"
ifconfig_age0="inet 192.168.1.1  netmask 255.255.255.0"
ifconfig_rl0="DHCP"
inetd_enable="NO"
sshd_enable="YES"
firewall_enable="YES"
firewall_nat_enable="YES"
firewall_script="/etc/firewall.conf"
named_enable="YES"
named_auto_forward="YES"
named_flags="-u bind -c /etc/namedb/named.conf"
webmin_enable="YES"
mpd_enable="YES"
ntpd_enable="YES"
ntpd_program="/usr/local/bin/ntpd"


firewall.conf

#!/bin/sh
exface="rl0"
inface="age0"
in_ip="192.168.1.1"
pre_com="ipfw -q"
$pre_com -f flush

$pre_com add 00100 allow ip from any to any via lo0
$pre_com add 00110 deny ip from any to 127.0.0.0/8
$pre_com add 00120 deny ip from 127.0.0.0/8 to any
$pre_com add 00130 allow ip from any 1701 to me via $exface
$pre_com add 00140 allow ip from me to any 1701 via $exface
$pre_com add 00150 allow ip from any 1723 to me via $exface
$pre_com add 00160 allow ip from me to any 1723 via $exface
$pre_com add 00170 allow ip from any 5005 to me via $exface
$pre_com add 00180 allow ip from me to any 5005 via $exface
$pre_com add 00181 allow all from any 953 to me via $exface
$pre_com add 00182 allow all from me to any 953 via $exface
$pre_com nat 1 config log if $exface reset same_ports deny_in
$pre_com add 1030 nat 1 ip from any to any via $exface
$pre_com add 65000 deny all from any to any

hosts
::1            localhost localhost.ru
127.0.0.1        localhost localhost.ru
192.168.1.1    ******.ru ******
192.168.1.1    ******.ru.
**.***.**.***    ******.ru.

resolv.conf
# Generated by resolvconf
nameserver 127.0.0.1
nameserver 10.0.20.3
nameserver 10.0.20.6


mpd.conf

startup:
    log +ALL -EVENTS -FRAME
    set web iface all 5008
    set user admin admin admin
    set console self 127.0.0.1 5005
    set console open
    set web self 192.168.1.1 5006
    set web open

default:
    load pptp_client
pptp_client:
    create bundle static B1
    set iface route default
    set ipcp ranges 0.0.0.0/0 0.0.0.0/0
    set iface up-script /usr/local/etc/mpd5/up.sh
    set iface down-script /usr/local/etc/mpd5/down.sh
    create link static L1 pptp
    set link action bundle B1
    set auth authname ********
    set auth password *********
    set link disable check-magi
    set link max-redial 0
    set link mtu 1460
    set link keep-alive 20 75
    set pptp peer 10.0.20.9
    set pptp disable windowing
    open

up.sh

#!/bin/sh
pre_com="ipfw -q"
route delete $4
gw=`netstat -rn | awk '$1=="default"{print $2}'`
route add $4 $gw
route delete default
route add default $4
echo $4 > /tmp/mpd_dr
echo $gw > /tmp/mpd_gw
sleep 20


$pre_com add 00190 allow all from внешний ip 53 to any out via  $1
$pre_com add 00191 allow all from any to внешний ip 53 in via $1
$pre_com add 00192 allow all from внешний ip 123 to any out via  $1
$pre_com add 00193 allow all from any to внешний ip 123 in via $1
$pre_com nat 2 config log if $1 reset same_ports deny_in
$pre_com add 01000 nat 2 ip from any to any via $1
$pre_com add 01010 allow all from any to any
/etc/rc.d/named restart
(kldload speaker && /bin/echo -e "l2b.f+.p" > /dev/speaker && kldunload speaker)&

named.conf (настроен для 1 домена)
options {
    hostname "*******.ru";
    directory    "/etc/namedb";
    pid-file    "/var/run/named/pid";
    dump-file    "/var/dump/named_dump.db";
    statistics-file    "/var/stats/named.stats";
    version "unknown";
    listen-on {
        127.0.0.1;
        192.168.1.1; внутренний ip локалки
        10.0.20.55;  ip локальный от провайдера
        **.**.**.**;  внешний ip
        };
    include "/etc/namedb/auto_forward.conf";
};
zone "." {
    type hint;
    file "named.root";
   };
zone "localhost" {
    type master;
    file "master/localhost";
   };
zone "0.0.127.IN-ADDR.ARPA" {
    type master;
    file "master/0.0.127.in-addr.arpa";
};
zone "48.238.91.in-addr.arpa" {
    type master;
    file "master/48.238.91.in-addr.arpa";
    };
zone "*******.ru" {
    type master;
    file "master/********.ru";
    notify yes;
    allow-transfer { **.**.**.**; };
    };
Если буден нужно выложу файлы зон.

Тесты и пинги:
> ifconfig

age0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    options=c319b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MCAST,WOL_MAGIC,VLAN_HWTSO,LINKSTATE>
    ether 00:1d:60:44:80:f7
    inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.255
    inet6 fe80::21d:60ff:fe44:80f7%age0 prefixlen 64 scopeid 0x5
    nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
    media: Ethernet autoselect (1000baseT <full-duplex>)
    status: active
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    options=2008<VLAN_MTU,WOL_MAGIC>
    ether 00:80:48:46:9b:7e
    inet 10.0.20.55 netmask 0xfffffe00 broadcast 10.0.21.255
    nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
    media: Ethernet autoselect (100baseTX <full-duplex>)
    status: active
ipfw0: flags=8801<UP,SIMPLEX,MULTICAST> metric 0 mtu 65536
    nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
    options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
    inet6 ::1 prefixlen 128
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0xc
    inet 127.0.0.1 netmask 0xff000000
    nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric 0 mtu 1400
    inet **.**.**.** --> 192.168.10.1 netmask 0xffffffff
    nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>

> ipfw list

00100 allow ip from any to any via lo0
00110 deny ip from any to 127.0.0.0/8
00120 deny ip from 127.0.0.0/8 to any
00130 allow ip from any 1701 to me via rl0
00140 allow ip from me to any dst-port 1701 via rl0
00150 allow ip from any 1723 to me via rl0
00160 allow ip from me to any dst-port 1723 via rl0
00170 allow ip from any 5005 to me via rl0
00180 allow ip from me to any dst-port 5005 via rl0
00181 allow ip from any 953 to me via rl0
00182 allow ip from me to any dst-port 953 via rl0
00190 allow ip from **.**.**.**  внешний ip 53 to any out via ng0
00191 allow ip from any to **.**.**.**  внешний ip  dst-port 53 in via ng0
00192 allow ip from **.**.**.**  внешний ip  to any out via ng0
00193 allow ip from any to **.**.**.**  внешний ip dst-port 123 in via ng0
01000 nat 2 ip from any to any via ng0
01010 allow ip from any to any
01030 nat 1 ip from any to any via rl0
65000 deny ip from any to any
65535 allow ip from any to any

> ipfw show

00100    874    129190 allow ip from any to any via lo0
00110      0         0 deny ip from any to 127.0.0.0/8
00120      0         0 deny ip from 127.0.0.0/8 to any
00130      0         0 allow ip from any 1701 to me via rl0
00140      0         0 allow ip from me to any dst-port 1701 via rl0
00150     59      3696 allow ip from any 1723 to me via rl0
00160     33      2612 allow ip from me to any dst-port 1723 via rl0
00170      0         0 allow ip from any 5005 to me via rl0
00180      0         0 allow ip from me to any dst-port 5005 via rl0
00181      0         0 allow ip from any 953 to me via rl0
00182      0         0 allow ip from me to any dst-port 953 via rl0
00190    177     21153 allow ip from **.**.**.**  внешний ip  53 to any out via ng0
00191    183     12283 allow ip from any to **.**.**.**  внешний ip  dst-port 53 in via ng0
00192     57      4332 allow ip from **.**.**.**  внешний ip  to any out via ng0
00193     61      4636 allow ip from any to **.**.**.**  внешний ip  dst-port 123 in via ng0
01000  95684  78371714 nat 2 ip from any to any via ng0
01010 186840 161698198 allow ip from any to any
01030    287     29270 nat 1 ip from any to any via rl0
65000    359     26606 deny ip from any to any
65535   1374     95164 allow ip from any to any

> ipfw nat show

nat 2: icmp=0, udp=311, tcp=93, sctp=0, pptp=0, proto=0, frag_id=0 frag_ptr=0 / tot=404
nat 1: icmp=0, udp=46, tcp=0, sctp=0, pptp=0, proto=1, frag_id=0 frag_ptr=0 / tot=47


> netstat

Active Internet connections
Proto Recv-Q Send-Q Local Address          Foreign Address        (state)
tcp4       0    182 *******.10000       192.168.1.103.61417    ESTABLISHED
tcp4       0      0 10.0.20.55.25934       10.0.20.9.pptp         ESTABLISHED
udp4       0      0 *******.ru..domain  *.*                    
udp4       0      0 localhost.domain       *.*                    
udp4       0      0 10.0.20.55.domain      *.*                    
udp4       0      0 *******.domain      *.*                    
udp4       0      0 *******.ru..ntp     *.*                    
udp4       0      0 localhost.ntp          *.*                    
udp6       0      0 fe80:c::1.ntp          *.*                    
udp6       0      0 localhost.ntp          *.*                    
udp4       0      0 10.0.20.55.ntp         *.*                    
udp6       0      0 fe80:5::21d:60ff.ntp   *.*                    
udp4       0      0 *******.ntp         *.*

> netstat -rn

Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            192.168.10.1       UGS         0     1826    ng0
10.0.0.0/16        10.0.20.1          UGS         0        0    rl0
10.0.20.0/23       link#10            U           0     2467    rl0
10.0.20.55         link#10            UHS         0        0    lo0
91.238.48.224      link#13            UHS         0        0    lo0
127.0.0.1          link#12            UH          0       77    lo0
172.16.0.0/22      10.0.20.1          UGS         0        0    rl0
192.168.1.0/24     link#5             U           0     2357   age0
192.168.1.1        link#5             UHS         0        0    lo0
192.168.10.1       link#13            UH          0        0    ng0

Комп в сети настроен:
IP 192.168.1.15
Dns 192.168.1.1
Шлюз 192.168.1.1
Пингую ya.ru: на локальном компе.
Статистика Ping для 213.180.193.3:
Пакетов: Отправлено 4, получено 4, потеряно 0

Nslookup ya.ru
Address: 192.168.1.1
Не заслуживающий доверия ответ:
Ya.ru
Addresses: 213.180.193.3
        93.158.134.3

Но когда пытаюсь зайти на ya.ru через браузер бесконечно долго крутиться и так не открывает.
Настройки браузер проверял, подключение по локалке, прокси не включено…
Спасайте братцы я в тупике!

 

Ваше сообщение
Имя*:
EMail:
Для отправки новых сообщений в текущей нити на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



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

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