Страница 1 из 1
ipfw+NAT ЧЯДНТ?
Добавлено: 2011-07-05 10:04:51
Alvares
Здравствуйте, господа! Никак не могу раздать инет внутренней сетке.
Имеется:
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
Re: ipfw+NAT ЧЯДНТ?
Добавлено: 2011-07-05 20:01:51
vadim64
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
Re: ipfw+NAT ЧЯДНТ?
Добавлено: 2011-07-06 14:31:14
Alvares
результат тот же, пинги с винды не проходят
Код: Выделить всё
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
Re: ipfw+NAT ЧЯДНТ?
Добавлено: 2011-07-06 20:29:30
vadim64
tcpdump?
Re: ipfw+NAT ЧЯДНТ?
Добавлено: 2011-07-09 12:23:56
Alvares
Вот результаты tcpdump на трех интерфейсах. Что там нужно смотреть?
Re: ipfw+NAT ЧЯДНТ?
Добавлено: 2012-02-06 13:11:40
Alvares
Ап темы. Инет роздан, но криво.
В связи с изменением аппаратуры немного сменились интерфейсы, но смысл тот же.
система 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 есть некоторые нюансы.
Re: ipfw+NAT ЧЯДНТ?
Добавлено: 2012-02-07 11:01:56
Alvares
Сколько рылся в гугле, сам вчера поковырялся. Не работает NAT в mpd никак. По крайней мере, ни одного сообщения о том, что это кому-то удалось, не встретил на бескрайних просторах "этих ваших интернетов"...
Возможно, нужно через if_up/if_down скрипты в mpd? У меня без этого поднимается.
Re: ipfw+NAT ЧЯДНТ?
Добавлено: 2012-02-07 23:05:25
Агроном
А шо
в mpd.conf не помогает?
Re: ipfw+NAT ЧЯДНТ?
Добавлено: 2012-02-08 12:39:43
Alvares
нет, не помогает. И, как я постил выше, нигде не встретил сообщений, чтобы у кого-нибудь работало.
Re: ipfw+NAT ЧЯДНТ?
Добавлено: 2012-02-08 12:56:36
Агроном
Покажи mpd.conf
и фаера
Re: ipfw+NAT ЧЯДНТ?
Добавлено: 2012-02-08 12:58:40
Alvares
фаер выше, mpd.conf вечером, дома
Re: ipfw+NAT ЧЯДНТ?
Добавлено: 2012-02-08 21:32:38
Alvares
Итак, 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
Re: ipfw+NAT ЧЯДНТ?
Добавлено: 2012-02-10 17:04:53
Alvares
Господа хорошие, ну подскажите плиз, в какой из цепочек ДНК у меня ошибка?