ipfw+NAT ЧЯДНТ?

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Alvares
прапорщик
Сообщения: 485
Зарегистрирован: 2008-07-10 12:48:08
Откуда: Воронеж
Контактная информация:

ipfw+NAT ЧЯДНТ?

Непрочитанное сообщение Alvares » 2011-07-05 10:04:51

Здравствуйте, господа! Никак не могу раздать инет внутренней сетке.

Имеется:
1. Внутренняя сеть 172.16.0.0/16 интерфейс vr0
2. Сеть провайдера 10.1.160.0/26 интерфейс fxp0
3. pptp-сервер провайдера в сети 192.168.149.0/24
4. dns-сервера провайдера в сети 195.98.64.0/24
5. интерфейс ng0, поднятый посредством mpd5. Адрес динамический.

Нужно раздать инет 172 сети.

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

alvares# uname -a
FreeBSD alvares 8.2-RELEASE-p2 FreeBSD 8.2-RELEASE-p2 #0: Mon Jul  4 17:37:44 MSD 2011     root@alvares:/usr/src/sys/i386/compile/alvares  i386
Ядро generic+IPFIREWALL

делаю такой конфиг для ipfw:

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

#${CMD} nat 1 config if ng0
#${CMD} add nat 1 ip from 172.16.0.0/16 to any
#${CMD} add nat 1 ip from any to any via ng0
Пингую внешний адрес с машины в локалке 172, а пинг не проходит.

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

00100   15    960 nat 1 ip from 172.16.0.0/16 to any
00200   34   1898 nat 1 ip from any to any via ng0
65535 4797 298624 allow ip from any to any
Бог создал людей сильными и слабыми. Сэмюэл Кольт сделал их равными...

Хостинговая компания 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/

Аватара пользователя
vadim64
майор
Сообщения: 2101
Зарегистрирован: 2009-09-17 15:15:26
Откуда: Засратовец

Re: ipfw+NAT ЧЯДНТ?

Непрочитанное сообщение vadim64 » 2011-07-05 20:01:51

try

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

#${CMD} allow ip from any to any via {интерфейс_локалки}
#${CMD} allow ip from me to any via ng0 keep-state
#${CMD} nat 1 config if ng0
#${CMD} add nat 1 ip from any to any via ng0
Люди не делятся на национальности, партии, фракции и религии. Люди делятся на умных и дураков, а вот дураки делятся на национальности, партии, фракции и религии.

Аватара пользователя
Alvares
прапорщик
Сообщения: 485
Зарегистрирован: 2008-07-10 12:48:08
Откуда: Воронеж
Контактная информация:

Re: ipfw+NAT ЧЯДНТ?

Непрочитанное сообщение Alvares » 2011-07-06 14:31:14

результат тот же, пинги с винды не проходят

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

00100 1157   71200 allow ip from any to any via vr0
00200  189   67386 allow ip from me to any via ng0 keep-state
00300   30    5732 nat 1 ip from any to any via ng0
65535 5877 1400066 allow ip from any to any
netstat -rn

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

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            217.25.224.114     UGS         0     1376    ng0
10.0.0.0/8         10.1.160.1         UGS         0       32   fxp0
10.1.160.0/26      link#1             U           0        0   fxp0
10.1.160.9         link#1             UHS         0        0    lo0
92.244.250.58      link#8             UHS         0        0    lo0
127.0.0.1          link#7             UH          0        0    lo0
172.16.0.0/16      link#2             U           0        5    vr0
172.16.0.1         link#2             UHS         0        0    lo0
192.168.149.0/24   10.1.160.1         UGS         2     1622   fxp0
195.98.64.65       10.1.160.1         UGHS        1       22   fxp0
195.98.64.66       10.1.160.1         UGHS        1        5   fxp0
217.25.224.114     link#8             UH          0        0    ng0
Бог создал людей сильными и слабыми. Сэмюэл Кольт сделал их равными...

Аватара пользователя
vadim64
майор
Сообщения: 2101
Зарегистрирован: 2009-09-17 15:15:26
Откуда: Засратовец

Re: ipfw+NAT ЧЯДНТ?

Непрочитанное сообщение vadim64 » 2011-07-06 20:29:30

tcpdump?
Люди не делятся на национальности, партии, фракции и религии. Люди делятся на умных и дураков, а вот дураки делятся на национальности, партии, фракции и религии.

Аватара пользователя
Alvares
прапорщик
Сообщения: 485
Зарегистрирован: 2008-07-10 12:48:08
Откуда: Воронеж
Контактная информация:

Re: ipfw+NAT ЧЯДНТ?

Непрочитанное сообщение Alvares » 2011-07-09 12:23:56

Вот результаты tcpdump на трех интерфейсах. Что там нужно смотреть?
Вложения
tcpdump.tar.bz2
(7.66 КБ) 13 скачиваний
Бог создал людей сильными и слабыми. Сэмюэл Кольт сделал их равными...

Аватара пользователя
Alvares
прапорщик
Сообщения: 485
Зарегистрирован: 2008-07-10 12:48:08
Откуда: Воронеж
Контактная информация:

Re: ipfw+NAT ЧЯДНТ?

Непрочитанное сообщение Alvares » 2012-02-06 13:11:40

Ап темы. Инет роздан, но криво.
В связи с изменением аппаратуры немного сменились интерфейсы, но смысл тот же.
система 8.2-STABLE
Имеется:
1. Внутренняя сеть 192.168.1.1/24 интерфейс rl0
2. Сеть провайдера 10.1.160.0/26 интерфейс fxp0
3. pptp-сервер провайдера в сети 192.168.149.0/24
4. dns-сервера провайдера в сети 195.98.64.0/24
5. интерфейс ng0, поднятый посредством mpd5. Адрес динамический.

конфиг ipfw /etc/fw.sh

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

ipfw nat 1 config if em0
ipfw add nat 1 ip from 192.168.1.0/24 to any out via em0
ipfw add nat 1 ip from any to any in via em0

ipfw nat 2 config if ng0
ipfw add nat 2 ip from 192.168.1.0/24 to any out via ng0
ipfw add nat 2 ip from any to any in via ng0
в rc.conf

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

...
firewall_enable="YES"
firewall_script="/etc/fw.sh"
...
Проблема в том, что когда шлюз грузится, то правила применяются, то бишь по ipfw show показывает, что они загружены и срабатывают, но на второй тачке (вин7, плять) видна только сеть провайдера, инета нет.
Запускаю вручную скрипт - все работает. Женушке вывел на десктоп ярлычок на скрипт, но это через задний проход, а хотелось бы прямее.
Что не так?
Бог создал людей сильными и слабыми. Сэмюэл Кольт сделал их равными...

Агроном
проходил мимо

Re: ipfw+NAT ЧЯДНТ?

Непрочитанное сообщение Агроном » 2012-02-06 21:18:35

Включи нат в mpd, с ipfw nat и mpd есть некоторые нюансы.

Аватара пользователя
Alvares
прапорщик
Сообщения: 485
Зарегистрирован: 2008-07-10 12:48:08
Откуда: Воронеж
Контактная информация:

Re: ipfw+NAT ЧЯДНТ?

Непрочитанное сообщение Alvares » 2012-02-07 11:01:56

Сколько рылся в гугле, сам вчера поковырялся. Не работает NAT в mpd никак. По крайней мере, ни одного сообщения о том, что это кому-то удалось, не встретил на бескрайних просторах "этих ваших интернетов"...


Возможно, нужно через if_up/if_down скрипты в mpd? У меня без этого поднимается.
Бог создал людей сильными и слабыми. Сэмюэл Кольт сделал их равными...

Агроном
проходил мимо

Re: ipfw+NAT ЧЯДНТ?

Непрочитанное сообщение Агроном » 2012-02-07 23:05:25

А шо

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

set iface enable nat
в mpd.conf не помогает?

Аватара пользователя
Alvares
прапорщик
Сообщения: 485
Зарегистрирован: 2008-07-10 12:48:08
Откуда: Воронеж
Контактная информация:

Re: ipfw+NAT ЧЯДНТ?

Непрочитанное сообщение Alvares » 2012-02-08 12:39:43

нет, не помогает. И, как я постил выше, нигде не встретил сообщений, чтобы у кого-нибудь работало.
Бог создал людей сильными и слабыми. Сэмюэл Кольт сделал их равными...

Агроном
проходил мимо

Re: ipfw+NAT ЧЯДНТ?

Непрочитанное сообщение Агроном » 2012-02-08 12:56:36

Покажи mpd.conf
и фаера

Аватара пользователя
Alvares
прапорщик
Сообщения: 485
Зарегистрирован: 2008-07-10 12:48:08
Откуда: Воронеж
Контактная информация:

Re: ipfw+NAT ЧЯДНТ?

Непрочитанное сообщение Alvares » 2012-02-08 12:58:40

фаер выше, mpd.conf вечером, дома
Бог создал людей сильными и слабыми. Сэмюэл Кольт сделал их равными...

Аватара пользователя
Alvares
прапорщик
Сообщения: 485
Зарегистрирован: 2008-07-10 12:48:08
Откуда: Воронеж
Контактная информация:

Re: ipfw+NAT ЧЯДНТ?

Непрочитанное сообщение Alvares » 2012-02-08 21:32:38

Итак, mpd.conf

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

default:                         
        load pptp_client         
pptp_client:                     
        create bundle static B1  
        set iface enable nat     
        set nat enable log       
        log +*                   
        set nat enable same-ports
        set iface route default  
        set iface enable tcpmssfix            
        set ipcp ranges 0.0.0.0/0 0.0.0.0/0   
        set ipcp dns 195.98.64.65 195.98.64.66
        set ipcp enable req-pri-dns           
        set ipcp enable req-sec-dns           
        set ipcp enable req-pri-nbns          
        set ipcp enable req-sec-nbns          

        create link static L1 pptp            
        set link action bundle B1             
        set auth authname NAME            
        set auth password PASS            
        set link max-redial 0                 
        set link mtu 1460                     
        set link keep-alive 20 75             
        set pptp peer pptp.freedom            
        set pptp disable windowing            
        open                                  
rc.conf

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

ifconfig_rl0="inet 192.168.1.1/24"          
ifconfig_em0="inet 10.1.160.9/26"           
static_routes="net10 net192 host65 host66"  
route_net10="-net 10.0.0.0 10.1.160.1"      
route_net192="-net 192.168.149.0 10.1.160.1"
route_host65="-host 195.98.64.65 10.1.160.1"
route_host66="-host 195.98.64.66 10.1.160.1"
mpd_enable="YES"                          
firewall_enable="YES"            
firewall_script="/etc/fw.sh"     
gateway_enable="YES"               
/etc/fw.sh

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

#! /bin/sh
CMD="/sbin/ipfw"
${CMD} -f flush
#pptp-server prov                              
${CMD} add allow ip from me to 192.168.149.0/24
${CMD} add allow ip from 192.168.149.0/24 to me
#NAT internet                                  
                                               
${CMD} nat 1 config if em0                     
${CMD} add nat 1 ip from any to any out via em0
${CMD} add nat 1 ip from any to any in via em0 
                                               
${CMD} nat 2 config if ng0                     
${CMD} add nat 2 ip from any to any out via ng0
${CMD} add nat 2 ip from any to any in via ng0 
uname -a

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

FreeBSD alvares 8.2-STABLE FreeBSD 8.2-STABLE #0: Fri Jan  6 14:29:55 MSK 2012
   lexa@alvares:/usr/src/sys/i386/compile/GENERIC_MY  i386                    
GENERIC_MY

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

options MROUTING                                                    
options VESA                                                        
options SC_PIXEL_MODE                                               

options IPFIREWALL      #firewall                                   
options IPFIREWALL_VERBOSE      #enable logging to syslogd(8)       
options IPFIREWALL_VERBOSE_LIMIT=100    #limit verbosity            
options IPFIREWALL_DEFAULT_TO_ACCEPT    #allow everything by default
options IPFIREWALL_FORWARD      #packet destination changes         
options IPFIREWALL_NAT  #ipfw kernel nat support                    
options LIBALIAS                                                    
options DUMMYNET                                                    
                                                                    
options IPFILTER        #ipfilter support                           
options IPFILTER_LOG    #ipfilter logging                           
options IPFILTER_LOOKUP #ipfilter pools                             
mpd.log

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

Feb  8 22:12:23 alvares mpd: process 1326 started, version 5.6 (root@alvares 02:20  8-Jan-2012)
Feb  8 22:12:24 alvares mpd: CONSOLE: listening on 127.0.0.1 5005
Feb  8 22:12:24 alvares mpd: [B1] Bundle: Interface ng0 created
Feb  8 22:12:24 alvares mpd: [L1] Link: OPEN event
Feb  8 22:12:24 alvares mpd: [L1] LCP: Open event
Feb  8 22:12:24 alvares mpd: [L1] LCP: state change Initial --> Starting
Feb  8 22:12:24 alvares mpd: [L1] LCP: LayerStart
Feb  8 22:12:24 alvares mpd: [L1] PPTP call successful
Feb  8 22:12:24 alvares mpd: [L1] Link: UP event
Feb  8 22:12:24 alvares mpd: [L1] LCP: Up event
Feb  8 22:12:24 alvares mpd: [L1] LCP: state change Starting --> Req-Sent
Feb  8 22:12:24 alvares mpd: [L1] LCP: SendConfigReq #1
Feb  8 22:12:24 alvares mpd: [L1]   ACFCOMP
Feb  8 22:12:24 alvares mpd: [L1]   PROTOCOMP
Feb  8 22:12:24 alvares mpd: [L1]   ACCMAP 0x000a0000
Feb  8 22:12:24 alvares mpd: [L1]   MRU 1500
Feb  8 22:12:24 alvares mpd: [L1]   MAGICNUM ae3bdc68
Feb  8 22:12:25 alvares mpd: [L1] LCP: rec'd Configure Request #1 (Req-Sent)
Feb  8 22:12:25 alvares mpd: [L1]   ACCMAP 0x00000000
Feb  8 22:12:25 alvares mpd: [L1]   AUTHPROTO CHAP MD5
Feb  8 22:12:25 alvares mpd: [L1]   MAGICNUM a700332b
Feb  8 22:12:25 alvares mpd: [L1]   PROTOCOMP
Feb  8 22:12:25 alvares mpd: [L1]   ACFCOMP
Feb  8 22:12:25 alvares mpd: [L1] LCP: SendConfigAck #1
Feb  8 22:12:25 alvares mpd: [L1]   ACCMAP 0x00000000
Feb  8 22:12:25 alvares mpd: [L1]   AUTHPROTO CHAP MD5
Feb  8 22:12:25 alvares mpd: [L1]   MAGICNUM a700332b
Feb  8 22:12:25 alvares mpd: [L1]   PROTOCOMP
Feb  8 22:12:25 alvares mpd: [L1]   ACFCOMP
Feb  8 22:12:25 alvares mpd: [L1] LCP: state change Req-Sent --> Ack-Sent
Feb  8 22:12:26 alvares mpd: [L1] LCP: SendConfigReq #2
Feb  8 22:12:26 alvares mpd: [L1]   ACFCOMP
Feb  8 22:12:26 alvares mpd: [L1]   PROTOCOMP
Feb  8 22:12:26 alvares mpd: [L1]   ACCMAP 0x000a0000
Feb  8 22:12:26 alvares mpd: [L1]   MRU 1500
Feb  8 22:12:26 alvares mpd: [L1]   MAGICNUM ae3bdc68
Feb  8 22:12:26 alvares mpd: [L1] LCP: rec'd Configure Ack #2 (Ack-Sent)
Feb  8 22:12:26 alvares mpd: [L1]   ACFCOMP
Feb  8 22:12:26 alvares mpd: [L1]   PROTOCOMP
Feb  8 22:12:26 alvares mpd: [L1]   ACCMAP 0x000a0000
Feb  8 22:12:26 alvares mpd: [L1]   MRU 1500
Feb  8 22:12:26 alvares mpd: [L1]   MAGICNUM ae3bdc68
Feb  8 22:12:26 alvares mpd: [L1] LCP: state change Ack-Sent --> Opened
Feb  8 22:12:26 alvares mpd: [L1] LCP: auth: peer wants CHAP, I want nothing
Feb  8 22:12:26 alvares mpd: [L1] LCP: LayerUp
Feb  8 22:12:26 alvares mpd: [L1] CHAP: rec'd CHALLENGE #7 len: 29
Feb  8 22:12:26 alvares mpd: [L1]   Name: "icpptp"
Feb  8 22:12:26 alvares mpd: [L1] CHAP: Using authname "pwsav104"
Feb  8 22:12:26 alvares mpd: [L1] CHAP: sending RESPONSE #7 len: 29
Feb  8 22:12:26 alvares mpd: [L1] CHAP: rec'd SUCCESS #7 len: 4
Feb  8 22:12:26 alvares mpd: [L1] LCP: authorization successful
Feb  8 22:12:26 alvares mpd: [L1] Link: Matched action 'bundle "B1" ""'
Feb  8 22:12:26 alvares mpd: [L1] Link: Join bundle "B1"
Feb  8 22:12:26 alvares mpd: [B1] Bundle: Status update: up 1 link, total bandwidth 64000 bps
Feb  8 22:12:26 alvares mpd: [B1] IPCP: Open event
Feb  8 22:12:26 alvares mpd: [B1] IPCP: state change Initial --> Starting
Feb  8 22:12:26 alvares mpd: [B1] IPCP: LayerStart
Feb  8 22:12:26 alvares mpd: [B1] IPCP: Up event
Feb  8 22:12:26 alvares mpd: [B1] IPCP: state change Starting --> Req-Sent
Feb  8 22:12:26 alvares mpd: [B1] IPCP: SendConfigReq #1
Feb  8 22:12:26 alvares mpd: [B1]   IPADDR 0.0.0.0
Feb  8 22:12:26 alvares mpd: [B1]   COMPPROTO VJCOMP, 16 comp. channels, no comp-cid
Feb  8 22:12:26 alvares mpd: [B1]   PRIDNS 0.0.0.0
Feb  8 22:12:26 alvares mpd: [B1]   SECDNS 0.0.0.0
Feb  8 22:12:26 alvares mpd: [B1]   PRINBNS 0.0.0.0
Feb  8 22:12:26 alvares mpd: [B1]   SECNBNS 0.0.0.0
Feb  8 22:12:26 alvares mpd: [B1] IPCP: rec'd Configure Request #1 (Req-Sent)
Feb  8 22:12:26 alvares mpd: [B1]   IPADDR 217.25.224.116
Feb  8 22:12:26 alvares mpd: [B1]     217.25.224.116 is OK
Feb  8 22:12:26 alvares mpd: [B1] IPCP: SendConfigAck #1
Feb  8 22:12:26 alvares mpd: [B1]   IPADDR 217.25.224.116
Feb  8 22:12:26 alvares mpd: [B1] IPCP: state change Req-Sent --> Ack-Sent
Feb  8 22:12:26 alvares mpd: [B1] IPCP: rec'd Configure Reject #1 (Ack-Sent)
Feb  8 22:12:26 alvares mpd: [B1]   COMPPROTO VJCOMP, 16 comp. channels, no comp-cid
Feb  8 22:12:26 alvares mpd: [B1]   PRINBNS 0.0.0.0
Feb  8 22:12:26 alvares mpd: [B1]   SECNBNS 0.0.0.0
Feb  8 22:12:26 alvares mpd: [B1] IPCP: SendConfigReq #2
Feb  8 22:12:26 alvares mpd: [B1]   IPADDR 0.0.0.0
Feb  8 22:12:26 alvares mpd: [B1]   PRIDNS 0.0.0.0
Feb  8 22:12:26 alvares mpd: [B1]   SECDNS 0.0.0.0
Feb  8 22:12:26 alvares mpd: [B1] IPCP: rec'd Configure Nak #2 (Ack-Sent)
Feb  8 22:12:26 alvares mpd: [B1]   IPADDR 217.25.225.74
Feb  8 22:12:26 alvares mpd: [B1]     217.25.225.74 is OK
Feb  8 22:12:26 alvares mpd: [B1]   PRIDNS 195.98.64.65
Feb  8 22:12:26 alvares mpd: [B1]   SECDNS 195.98.64.66
Feb  8 22:12:26 alvares mpd: [B1] IPCP: SendConfigReq #3
Feb  8 22:12:26 alvares mpd: [B1]   IPADDR 217.25.225.74
Feb  8 22:12:26 alvares mpd: [B1]   PRIDNS 195.98.64.65
Feb  8 22:12:26 alvares mpd: [B1]   SECDNS 195.98.64.66
Feb  8 22:12:26 alvares mpd: [B1] IPCP: rec'd Configure Ack #3 (Ack-Sent)
Feb  8 22:12:26 alvares mpd: [B1]   IPADDR 217.25.225.74
Feb  8 22:12:26 alvares mpd: [B1]   PRIDNS 195.98.64.65
Feb  8 22:12:26 alvares mpd: [B1]   SECDNS 195.98.64.66
Feb  8 22:12:26 alvares mpd: [B1] IPCP: state change Ack-Sent --> Opened
Feb  8 22:12:26 alvares mpd: [B1] IPCP: LayerUp
Feb  8 22:12:26 alvares mpd: [B1]   217.25.225.74 -> 217.25.224.116
Feb  8 22:12:27 alvares mpd: [B1] IFACE: Up event
Бог создал людей сильными и слабыми. Сэмюэл Кольт сделал их равными...

Аватара пользователя
Alvares
прапорщик
Сообщения: 485
Зарегистрирован: 2008-07-10 12:48:08
Откуда: Воронеж
Контактная информация:

Re: ipfw+NAT ЧЯДНТ?

Непрочитанное сообщение Alvares » 2012-02-10 17:04:53

Господа хорошие, ну подскажите плиз, в какой из цепочек ДНК у меня ошибка?
Бог создал людей сильными и слабыми. Сэмюэл Кольт сделал их равными...