Добрый день. Имеется офис c локальной сетью и сервером на БСД 7.2, у которого есть внешний и внутренний интерфейсы. (Он служит в качестве ВЕБ, ФТП, файлового сервера, Роутера и IPSec сервера с топологией Звезда для соединения с другими офисами.)Внешний интерфейс раньше имел выход по средствам РРРОЕ (pptpclient)на котором НАТ включался автоматически при старте самого соединения параметром в rc.conf (ppp_nat="YES"). Работал Интернет и работали IPSEC каналы было все хорошо.
Сейчас сменился провайдер, у него внешние настройки статически прописываются, т.к. сеть локальная фэйковая приходиться запускать НАТ для выхода ЛВС в Интернет. Но появилась проблема не могу одновременно заставить работать НАТ и IPSEC каналы. Получается либо Локалка в Интернет ходит, (При этом подымаются IPSEC каналы, но пакеты не ходят по нему, т.к. ведать заворачиваются в НАТ) Либо выключать НАТ и при этом IPSEC каналы работают замечательно, но ЛВС не выходит в Интернет.
Подскажите куда копать? или как запускать НАТ правильно?
Сейчас стартует так
rc.conf
natd_enable="YES"
natd_interface="ed0"rc.firewall
#!/bin/sh
ipfw -f flushfwcmd="/sbin/ipfw -q"
${fwcmd} add 100 deny icmp from any to any in icmptype 5,9,13,14,15,16,17
${fwcmd} add 110 pass all from any to any via lo0
${fwcmd} add 120 deny all from any to 127.0.0.0/8# Allow NATD to
${fwcmd} add 200 divert natd all from 192.168.77.0/24 to any out via ed0
${fwcmd} add 202 divert natd all from any to any in via ed0For TEST
${fwcmd} add 500 allow all from any to any
Пробовал по разному ранжировать правила все равно не получается.
ifconfig -a
netstat -r
ipfw show
>ifconfig -a
>netstat -r
>ipfw showifconfig -a
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=19b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4>
ether 00:15:17:50:91:0a
inet 212.xxx.xxx.6 netmask 0xffffff00 broadcast 212.xxx.xxx.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
ether 00:15:17:50:91:0b
inet 192.168.77.1 netmask 0xffffff00 broadcast 192.168.77.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
inet 127.0.0.1 netmask 0xff000000
netstat -rDestination Gateway Flags Refs Use Netif Expire
default 212.xxx.xxx.1 UGS 0 887435 em0
localhost localhost UH 0 1956 lo0
192.168.77.0 link#2 UC 0 0 em1
192.168.77.1 00:15:17:50:91:0b UHLW 1 56 lo0
192.168.77.10 00:21:85:3a:9f:9a UHLW 1 72902 em1 1127
192.168.77.14 00:e0:4c:18:7c:c0 UHLW 1 41606 em1 1190
192.168.77.17 00:15:17:50:93:db UHLW 1 60645 em1 1089
192.168.77.89 00:16:d4:9d:1a:7a UHLW 1 61787 em1 1171
192.168.77.90 90:e6:ba:5c:5d:66 UHLW 1 243 em1 1147
192.168.77.91 00:25:b3:6e:c8:bf UHLW 1 7087 em1 1188
192.168.77.92 00:11:d8:b4:9d:10 UHLW 1 157 em1 1173
192.168.77.94 00:25:11:ca:fe:7a UHLW 1 39731 em1 1188
192.168.77.98 00:25:11:c9:ed:a8 UHLW 1 32478 em1 1198
192.168.77.99 00:15:58:13:05:3c UHLW 1 971915 em1 919
192.168.77.111 00:80:48:2e:1e:df UHLW 1 7688 em1 1200
192.168.77.140 00:08:74:e8:04:04 UHLW 1 5 em1 1054
192.168.77.144 00:13:d4:b1:bd:5c UHLW 1 10596 em1 1135
192.168.77.168 00:1d:92:39:d2:2b UHLW 1 131406 em1 1187
192.168.77.169 00:1f:e2:5b:bf:30 UHLW 1 29197 em1 1150
192.168.77.175 00:24:01:02:ab:29 UHLW 1 359 em1 1027
192.168.77.198 00:1a:92:78:90:68 UHLW 1 18 em1 1072
192.168.77.225 00:50:ba:ca:61:f7 UHLW 1 5 em1 1199
192.168.77.227 00:08:74:06:32:0b UHLW 1 49 em1 1090ipfw show
00100 780 28080 deny icmp from any to any in icmptypes 5,9,13,14,15,16,17
00110 12940 7466100 allow ip from any to any via lo0
00120 0 0 deny ip from any to 127.0.0.0/8
00200 4947 1037072 divert 8668 ip from 192.168.77.0/24 to any out via ed0
00202 6067 3708380 divert 8668 ip from any to any in via ed0
00500 13508 1861183 allow ip from any to any
65535 30895 2263207 deny ip from any to any
а где "канал" под ipsec?
setkey -D
212.ххх.ххх.6 212.ххх.ххх.24
esp mode=tunnel spi=123670869(0x075f1155) reqid=0(0x00000000)
E: 3des-cbc 62c305c9 0dac321e c46df913 691ffdfe 1daa526f 5dced4a7
A: hmac-sha1 8a9b070f ecac1f6c fc3d1b2e 23e8a37a 3c473061
seq=0x00000000 replay=4 flags=0x00000000 state=mature
created: Mar 2 16:02:44 2010 current: Mar 2 16:03:01 2010
diff: 17(s) hard: 86400(s) soft: 69120(s)
last: hard: 0(s) soft: 0(s)
current: 0(bytes) hard: 0(bytes) soft: 0(bytes)
allocated: 0 hard: 0 soft: 0
sadb_seq=5 pid=5308 refcnt=1
212.ххх.ххх.24 212.ххх.ххх.6
esp mode=tunnel spi=82041374(0x04e3da1e) reqid=0(0x00000000)
E: 3des-cbc ff10c30a 662192c2 e7188c8c ea7b6ad5 db09b501 8c6c5f47
A: hmac-sha1 77bf2fbb 0cde5cfe ec38a959 efba136f d74c9dfa
seq=0x00000000 replay=4 flags=0x00000000 state=mature
created: Mar 2 16:02:44 2010 current: Mar 2 16:03:01 2010
diff: 17(s) hard: 86400(s) soft: 69120(s)
last: hard: 0(s) soft: 0(s)
current: 0(bytes) hard: 0(bytes) soft: 0(bytes)
allocated: 0 hard: 0 soft: 0
sadb_seq=4 pid=5308 refcnt=1
setkey -DP
192.168.103.0/24[any] 192.168.77.0/24[any] any
in ipsec
esp/tunnel/212.xxx.xxx.24-212.xxx.xxx.6/require
spid=12 seq=24 pid=5313
refcnt=1
192.168.77.0/24[any] 192.168.103.0/24[any] any
out ipsec
esp/tunnel/212.xxx.xxx.6-212.xxx.xxx.24/require
spid=11 seq=9 pid=5313
refcnt=1
IPSec реализован на racoon
никаких gif не создается?
>никаких gif не создается?Нет и кстати полно примеров чтоб даже гифов не создавать.
Просто на удаленных офисах стоят в качестве роутеров PFSens'ы, и я их конфиги глядел вроди тоже не нашел ни каких гифов.
Стоит убрать 202 правило из фаервола, Интернет пропадает в Локалке, но сразу появляется связь с удаленным офисом через канал IPSec.каким образом соединение
/usr/sbin/ppp -quiet -ddial -nat pppoeНАТ запускался встроенный в ppp соединение, и он ведь не требовал дополнительных правил в фаерволе. Возможно также сделать на простом статическом IP адресе?
не видно не одного маршрута в сеть 192.168.103.0
>не видно не одного маршрута в сеть 192.168.103.0я пробовал их писать что с ними что без них одинаково.
я как понял параметр net.inet.ip.forwarding: 1
поумолчанию все маршрутизирует, а записи в setkey -DP достаточно чтоб он понимал что ему надо идти в тунельпричем кстати отчищал весь сеткей -ф флуш спдфлуш
и при попытке пинговать 192.168.103.1 маршрут он ломится уже на дфаулт гэйтвэй. т.е. в инет.
Тот провайдер что дает интерент через pppoe еще рабочий, переключаюся на него, изменяю настройки внешнего интерфейса, запускаю подключение pppoe меняю IPSec конфиге IP адреса внешнего интерфейса и все работает замечательно.НАТ для ЛВС запускается ключом -nat b каналы IPSеc тоже замечательно работают.
Без Гифов и дополнительных маршрутов. я их не делал как на ПФСенсе так и на этом роутере БСД.
netstat -r
ifoncfig -a
при соединении с pppoe
>netstat -r
>ifoncfig -a
>при соединении с pppoegw# netstat -r
Routing tablesInternet:
Destination Gateway Flags Refs Use Netif Expire
default 10.10.0.1 UGS 0 981094 tun0
10.10.0.1 193.xxx.xxx.126 UH 0 0 tun0
localhost localhost UH 0 2030 lo0
192.168.77.0 link#2 UC 0 0 em1
192.168.77.1 00:15:17:50:91:0b UHLW 1 80 lo0
192.168.77.10 00:21:85:3a:9f:9a UHLW 1 89431 em1 1152
192.168.77.14 00:e0:4c:18:7c:c0 UHLW 1 41610 em1 1194
192.168.77.17 00:15:17:50:93:db UHLW 1 61500 em1 1121
192.168.77.89 00:16:d4:9d:1a:7a UHLW 1 73500 em1 1131
192.168.77.90 90:e6:ba:5c:5d:66 UHLW 1 256 em1 973
192.168.77.91 00:25:b3:6e:c8:bf UHLW 1 9290 em1 1193
192.168.77.92 00:11:d8:b4:9d:10 UHLW 1 213 em1 1019
192.168.77.94 00:25:11:ca:fe:7a UHLW 1 50668 em1 1174
192.168.77.98 00:25:11:c9:ed:a8 UHLW 1 35960 em1 1199
192.168.77.99 00:15:58:13:05:3c UHLW 1 975763 em1 933
192.168.77.111 00:80:48:2e:1e:df UHLW 1 11600 em1 1198
192.168.77.140 00:08:74:e8:04:04 UHLW 1 5 em1 1071
192.168.77.144 00:13:d4:b1:bd:5c UHLW 1 17039 em1 1166
192.168.77.168 00:1d:92:39:d2:2b UHLW 1 154749 em1 977
192.168.77.169 00:1f:e2:5b:bf:30 UHLW 1 31285 em1 975
192.168.77.175 00:24:01:02:ab:29 UHLW 1 3762 em1 924
192.168.77.198 00:1a:92:78:90:68 UHLW 1 9397 em1 916
192.168.77.227 00:08:74:06:32:0b UHLW 1 123 em1 1072
gw# ifconfig
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=19b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4>
ether 00:15:17:50:91:0a
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
ether 00:15:17:50:91:0b
inet 192.168.77.1 netmask 0xffffff00 broadcast 192.168.77.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
inet 127.0.0.1 netmask 0xff000000
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1492
inet 193.xxx.xxx.126 --> 10.10.0.1 netmask 0xffffffff
Opened by PID 505
и все фунциклирует.строчки в файерволе 200-202 убраны.
по гуглил и нашел что в ppp встроен свой нат. Он ведать отличается от того что в ядро в компилен, т.к. ему не требуются записи в фаерволе.я вот думаю сейчас попробовать поднять все на ПФСенсе со статик IP внешним, и поднять там все тоже самое.
единственное там идет другой фаервол не ipfw.
может так
${fwcmd} add 200 divert natd all from 192.168.77.0/24 to not 192.168.103.0/24 out via ed0natd запускать с -u
>может так
>${fwcmd} add 200 divert natd all from 192.168.77.0/24 to not 192.168.103.0/24 out
>via ed0
>
>natd запускать с -uСегодня попробую, и отпишуся.
Получилось сделать, но пока только для одного тунелявот так
${fwcmd} add 200 divert natd all from 192.168.77.0/24 to any out via ed0
${fwcmd} add 202 divert natd all from not 212.xxx.xxx.61 to 212.xxx.xxx.6 in via ed0если дописываю еще строчку
${fwcmd} add 202 divert natd all from not 212.xxx.xxx.59 to 212.xxx.xxx.6 in via ed0
То он просто ее уже не обрабатывает.
А возможно сразу несколько IP тут указать в одной строчке типа not 212.xxx.xxx.59 212.xxx.xxx.61 и так далее?
ipfw add 202 divert natd all from { not 212.ххх.ххх.59 or not 212.ххх.ххх.61 } to 212.ххх.хххх.6 in via em0не помогает, может какой другой синтаксис надо использовать?
>ipfw add 202 divert natd all from { not 212.ххх.ххх.59 or not
>212.ххх.ххх.61 } to 212.ххх.хххх.6 in via em0
>
>не помогает, может какой другой синтаксис надо использовать?Решилось вот таким видом записи в правиле 202
ipfw add 202 divert natd in via em0 not src-ip 212.ххх.ххх.59 not src-ip 212.ххх.ххх.61 dst-ip 212.xxx.xxx.6
>выход по средствампосредством?
>>выход по средствам
>
>посредством?с русским языком еще и со школы было сложно, его полностью знать тяжело -(
-)