mpd5 + kernel nat не работает частично

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
ALex-and-R
проходил мимо
Сообщения: 2
Зарегистрирован: 2010-07-21 13:55:19

mpd5 + kernel nat не работает частично

Непрочитанное сообщение ALex-and-R » 2010-07-21 14:01:17

Появилась свободная машинка и решил я собрать себе сервачек
на FreeBSD 8 чтобы подключался к провайдеру по pptp раздавал инет и тп.
Столкнулся с проблемой нат работает отлично но не работают через нат половину сайтов кстати этот сайт работает.
схема.jpg
Схема

172.24.50.20 ип FreeBSD сервера
172.24.0.0 - ресурсы сети которые мне нужны
xx.xxx.xxx.xxx прямой ип выдаваемый по vpn
192.168.1.0/24 сеть куда натим инет
ng0 #vpn internet
em0 #lan 172
re0 #lan 192

мой конфиг ipfw:

Код: Выделить всё

00100 allow ip from any to any via lo0
00200 allow tcp from me 22 to any
00300 allow tcp from any to me dst-port 22

/sbin/ipfw nat 100 config ip xxx.xxx.xxx.xxx log \
redirect_port tcp 192.168.1.3:3389 3389 \
redirect_port tcp 192.168.1.3:31320 31320
00400 nat 100 ip from 192.168.1.0/24 to not 172.24.0.0/16
00500 nat 100 ip from not 172.24.0.0/16 to xx.xxx.xxx.xxx

/sbin/ipfw nat 200 config ip 172.24.50.20
00600 nat 200 ip from 192.168.1.0/24 to 172.24.0.0/16 out via em0
00700 nat 200 ip from 172.24.0.0/16 to 172.24.50.20 in via em0
00800 allow udp from any to any dst-port 53
00900 allow log logamount 100 tcp from any to any dst-port 80,443,21
01000 allow icmp from any to any
65000 allow ip from any to any
65535 deny ip from any to any
========================
# netstat -rn

Код: Выделить всё

Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            xxx.xxx.xxx.xxx     US          0   790765    ng0
xxx.xxx.xx.xxx     link#5             UHS         0       76    lo0
127.0.0.1          link#4             UH          0       26    lo0
172.24.0.0/16      172.24.50.1        UGS         2   857897    em0
172.24.50.0/24     link#2             U           0      179    em0
172.24.50.20       link#2             UHS         0        0    lo0
192.168.1.0/24     link#1             U           3    68114    re0
192.168.1.1        link#1             UHS         0        0    lo0
192.168.110.1      link#5             UH          0        7    ng0
где xxx.xxx.xxx.xxx прямой ип а ng0 интерфейс созданный vpn
===================================

mpd.conf:

Код: Выделить всё

startup:
        # configure mpd users
        set user foo bar admin
        set user foo1 bar1
        # configure the console
        set console self 127.0.0.1 5005
        set console open
        # configure the web server
        set web self 0.0.0.0 5006
        set web open

#
# Default configuration is "dialup"

default:
        load pptp_client

pptp_client:
#
# PPTP client: only outgoing calls, auto reconnect,
# ipcp-negotiated address, one-sided authentication,
# default route points on ISP's end
#

        create bundle static B1
        set iface up-script /usr/local/etc/mpd5/vpn-up.sh
        set iface down-script /usr/local/etc/mpd5/vpn-down.sh
        create link static L1 pptp
        set link action bundle B1
        set auth authname login
        set auth password password
        set link max-redial 0
        set link mtu 1460
        set link keep-alive 20 75
        set pptp peer 172.24.x.y
        set pptp disable windowing
        open
==========================================
vpn-up.sh -

Код: Выделить всё

#!/bin/sh
VPN=172.24.0.0
GW=172.24.50.1
route delete $VPN
route add $VPN $GW
route delete default
route add default xxx.xxx.xxx.xxx
sleep 1s
/usr/local/etc/ipfw.conf
Последний раз редактировалось f_andrey 2010-07-21 14:04:10, всего редактировалось 1 раз.
Причина: Автору, выбирайте пожалуйста раздел соответствуюший тематике вашего сообщения.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Гость
проходил мимо

Re: mpd5 + kernel nat не работает частично

Непрочитанное сообщение Гость » 2010-07-21 14:13:13

тему закрыть
автора отправить перечитывать все темы о mpd
пора бы уже вучить на изусть
что при работе с mpd есть два ньюанса
это второй

ALex-and-R
проходил мимо
Сообщения: 2
Зарегистрирован: 2010-07-21 13:55:19

Re: mpd5 + kernel nat не работает частично

Непрочитанное сообщение ALex-and-R » 2010-07-22 0:36:31

Вопрос решился добавлением к mtu

Код: Выделить всё

 set iface enable tcpmssfix
Подскажите литературу маны на русс языке плз )

Гость
проходил мимо

Re: mpd5 + kernel nat не работает частично

Непрочитанное сообщение Гость » 2010-07-22 3:10:50

set iface enable tcpmssfix
надаже!
неужели сами нашли?
аж не верится

uradvd
проходил мимо
Сообщения: 8
Зарегистрирован: 2010-08-10 10:41:51

Re: mpd5 + kernel nat не работает частично

Непрочитанное сообщение uradvd » 2010-08-26 10:50:59

Приветствую всех, аналогичная топология сети тоже надо раздать инет пользователям через ipfw kernel nat делаю так же как написано в этой теме один в один меняя только ип адреса но инет так и не раздается, перечитал все темы но толи не догнал, толи у меня косяк где-то закрался . Прошу помощи у спецов сам уже 2 недели вожусь нефига не получается. Заранее спасибо

вот получившийся конфиг rc.firewall

Код: Выделить всё

#!/bin/sh

fwcmd="/sbin/ipfw"

# Force a flushing of the current rules before we reload.
${fwcmd} -f flush

        #inet if
        eint="em0"
        #inet ip реальный адрес выданный провайдером
        eip="xxx.xxx.xxx.x1"
        #local net ip
        iip="192.168.0.1"
        #local net if
        iint="re0"

        m0="255.255.0.0"
        m1="255.255.255.0"
        m2="255.255.255.248"

        n1="192.168.0.0"
        n2="10.0.0.0"
        #vpn server ip
        vpn_server="10.1.21.12"

        ${fwcmd} add check-state
        # pass all through loopback device
        ${fwcmd} add pass all from any to any via lo0
        # deny other lo0
        ${fwcmd} add deny all from any to 127.0.0.0/8
        ${fwcmd} add deny all from 127.0.0.0/8 to any
        ${fwcmd} add deny ip from any to 192.168.0.0/16 in recv em0
        ${fwcmd} add deny ip from 192.168.0.0/16 to any in recv em0
        ${fwcmd} add deny ip from any to 172.16.0.0/12 in recv em0
        ${fwcmd} add deny ip from 172.16.0.0/12 to any in recv em0
        ${fwcmd} add deny ip from any to 169.254.0.0/16 in recv em0
        ${fwcmd} add deny ip from 169.254.0.0/16 to any in recv em0
        # ICMP
        ${fwcmd} add deny icmp from any to any frag
        ${fwcmd} add deny icmp from any to any in icmptype 5,9,13,14,15,16,17
        ${fwcmd} add allow icmp from any to any

         #allow to web server
        ${fwcmd} add allow tcp from any to me 80 keep-state

		# NATd
        ${fwcmd} nat 1 config ip ${eip} log same_ports
        #${fwcmd} add nat 1 ip4 from any  to any via ${iint}
        ${fwcmd} add nat 1 ip4 from ${n1}/24 to any
        ${fwcmd} add nat 1 ip4 from any to ${eip}

        ${fwcmd} add allow ip from any to any via ${iint}
        ${fwcmd} add allow udp from any to any via ${iint}
        ${fwcmd} add allow icmp from any to any via ${iint}
		
		
        #${fwcmd} add allow ip from any to any
        # deny netbios
        ${fwcmd} add allow ip from any 137-139 to any
        ${fwcmd} add allow ip from any to any 137-139

        #allow DHCP client in provider net
        ${fwcmd} add allow tcp from me 67,68 to any via ${eint}
        ${fwcmd} add allow tcp from any to me 67,68 via ${eint}

        #${fwcmd} add allow tcp from any to any established
        #connect me to any
        ${fwcmd} add allow ip from me to any out xmit ${eint} keep-state

        # GRE for MPD5
        ${fwcmd} add allow gre from any to any
        #  VPN-connect for MPD, autorization request port
        ${fwcmd} add allow tcp from me 1723 to any
        ${fwcmd} add allow tcp from any to me 1723
        ${fwcmd} add allow udp from me 1723 to any
        ${fwcmd} add allow udp from any to me 1723


        # SSH for localhost allow
        #${fwcmd} add allow tcp from me 22 to any
        ${fwcmd} add allow tcp from any to me 22 keep-state

        # DNS, NTP, SNMPx2, DNSs
        ${fwcmd} add allow udp from any to me 123 keep-state
        #${fwcmd} add allow udp from me 123 to any
        ${fwcmd} add allow udp from any to me 53 keep-state
        #${fwcmd} add allow udp from me 53 to any

        #allow to ftp server
        ${fwcmd} add allow tcp from any to me 20,21 keep-state
        #${fwcmd} add allow tcp from me 20,21 to any
        #${fwcmd} add allow tcp from me 49151-65535 to any
        ${fwcmd} add allow tcp from any to me 49151-65535 keep-state

        # log - всё, что не пропустилось, в лог (/var/log/security по умолчанию)
        ${fwcmd} add deny log logamount 3000 all from any to any

uradvd
проходил мимо
Сообщения: 8
Зарегистрирован: 2010-08-10 10:41:51

Re: mpd5 + kernel nat не работает частично

Непрочитанное сообщение uradvd » 2010-08-26 11:00:03

да забыл добавить система freebsd 8.1 релиз

ядро с

Код: Выделить всё

options         IPFIREWALL
options         IPFIREWALL_VERBOSE
options         IPFIREWALL_VERBOSE_LIMIT=100
options         IPFIREWALL_NAT
options         LIBALIAS
options         ROUTETABLES=2
options         DUMMYNET
клиенты на windows 7

у них в настройках прописываю

Код: Выделить всё

ип 192.168.0.4
маска 255.255.255.0
шлюз 192.168.0.1
rc.conf

Код: Выделить всё

gateway_enable="YES"
ifconfig_em0="DHCP"
ifconfig_re0="inet 192.168.0.1 netmask 255.255.255.0"
#ip шлюз провайдера
defaultrouter="xxx.xxx.xxx.xx"
firewall_enable="YES"
firewall_type="/etc/rc.firewall2"

uradvd
проходил мимо
Сообщения: 8
Зарегистрирован: 2010-08-10 10:41:51

Re: mpd5 + kernel nat не работает частично

Непрочитанное сообщение uradvd » 2010-08-26 11:05:55

вот на офф форуме тоже есть обсуждение этой проблемы http://forums.freebsd.org/showthread.php?t=16835 пробовал сделать также никаких сдвигов

uradvd
проходил мимо
Сообщения: 8
Зарегистрирован: 2010-08-10 10:41:51

Re: mpd5 + kernel nat не работает частично

Непрочитанное сообщение uradvd » 2010-08-26 11:20:58

Для полноты данных

ip 10.9.14.108 if em0 локальная сеть провайдера ип получает путем dhcp
ip 192.168.0.1 if re0 моя локальная сеть которая должна получать инет
ip xxx.xxx.xxx.xx if ng0 интерфейс и ип для выхода в инет с помощью MPD5