Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: kellerman в Nov 12, 2007, 14:08



Титла: Nat проблем
Публикувано от: kellerman в Nov 12, 2007, 14:08
Така .. имам следният въпрос..
Възможно ли е,  в локална мрежа, която е нат-ната зад БСД рутер, да си сложа още една машина с БСД и на нея да направя също НАТ ..
Няма ли да има проблем поради факта, че моя си рутер няма да има реален адрес а ще е с адрес от частните  мрежи.
Тоест  едната етернет карта е 192.168 . а втората към която искам аз да се вържа е 172.16 .

да кажем, че се получава нещо подобно :

Интернет <-> х.х.х.х-БСД- 192.168.0.0/24<->192.168.0.200-БСД-172.16.1.0/24

та искам тази 172.16 мрежата да я НАТ-а през 192.168, та да имам връзка  към  абв, яхууу . и т.н ..

Пробвам но нещо все не се получава..
Та принципно искам да знам дали може да се получи, за да знам дали греша аз някъде или просто няма как да стане :)


Титла: Nat проблем
Публикувано от: Nikolavp в Nov 12, 2007, 14:32
Проблемите са от задклавиатурното устройство, защото проблеми не трябва да имаш ;). Дай си конфигурационните файлове и на двата рутера
(май се правеше от /etc/rc.conf ма не съм  сигурен и нещо firewall-че там ала бала) и след като модераторите ти преместят темата трябва да ти отговорят. Успех!


Титла: Nat проблем
Публикувано от: kellerman в Nov 12, 2007, 14:59
приемам, че проблема може и да е в затклавиатурното устройсто :)
два въпроса :)
1. що ти е конф. файла на първия рутер, НАТ-а е само на единия, там е проблема :)
 според мен първия рутер няма нищо общо :)
2. защо да преместят темата модераторите ? :)


Титла: Nat проблем
Публикувано от: kellerman в Nov 12, 2007, 15:05
ето rc.conf-a

 defaultrouter="192.168.0.254"
hostname="FreeBSDtest "
ifconfig_sis0="inet 192.168.0.196  netmask 255.255.255.0"
ifconfig_rl0="inet 172.16.1.1 netmask 255.255.255.0"
inetd_enable="YES"
linux_enable="YES"
sshd_enable="YES"
usbd_enable="YES"
mysql_enable="YES"
apache22_enable="YES"

#PacketFilter
pf_enable="YES"
pf_rules="/etc/pf.conf"
pf_flafgs=""
pflog_enable="YES"
pflog_logfile="/var/log/pflog"

#firewall_enable="YES"
#firewall_type="open"
#firewall_scripts="/etc/rc.firewall"

ipfilter_enable="YES"
ipfilter_rules="/etc/ipf.rules"
ipmon_enable="YES"
ipmon_flags="-Ds"



#NAT
getaway_enable="YES"
ipnat_enable="YES"
ipnat_rules="/etc/ipnat.rules"


ето ipnat.rules

#Network Address Translation

map rl0 172.16.1.0/24 -> 192.168.0.196/32
map rl0 172.16.1.0/24 -> 192.168.0.196/32 portmap tcp/udp auto

ето и pf.conf

ext_if="sis0"
int_if="rl0"
internal_net="172.16.1.0/24"
external_addr="192.168.0.196/32"
nat on $ext_if from 172.16.1.0/24  to any -> ($ext_if)

това са конф. файловете на рутера на който се опитвам аз да направя НАТ


Титла: Nat проблем
Публикувано от: Hapkoc в Nov 12, 2007, 15:22
FreeBSD поддържа в момента ipfw, IPF (от NetBSD) и PF (от OpenBSD). В случая ти си разрешил да се пускат два от тях - IPF и PF. Трябва ти един. Отгоре на това си пуснал и natd, който се използва в комбинация с ipfw.

Пробвай да разрешиш само PF, конфигурацията му, която си дал, би трябвало да е достатъчна за NAT-а.

Ако не сработи - tcpdump е твой приятел. Не знам дали във FreeBSD има pflog0 интерфейс, в OpenBSD като включиш логинга на PF и с 'tcpdump -nettti pflog0' си гледаш какво става по firewall-а.

Ти как пробваш дали работи всъщност?


Титла: Nat проблем
Публикувано от: kellerman в Nov 12, 2007, 16:31
Hapkoc

В момента съм пуснал само PF  и с неговата конфигурация пак не иска да сработи ..
  проверявам  от пц-то на което искам да пусна интернет :)
 от него имам връзка до външната карта на БСД-то ..  тоест 192.168.. но не и до следващият рутер :)

 с тспдъмп-а интересно е, че на външната карта нищо не се получава .. пуснал съм постоянен пинг  до нея , но от този адрес няма никакжи пакети ..
 докато картата която се явява gateway си има ICMP заявки ..

 това е от tcpdump-a ...

FreeBSDtest# tcpdump -nqi rl0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on rl0, link-type EN10MB (Ethernet), capture size 96 bytes
16:20:28.310528 IP 172.16.1.2 > 192.168.0.196: ICMP echo request, id 512, seq 59174, length 40
16:20:28.310596 IP 192.168.0.196 > 172.16.1.2: ICMP echo reply, id 512, seq 59174, length 40
16:20:29.013699 IP 172.16.1.2 > 194.153.145.104: ICMP echo request, id 512, seq 59430, length 40
16:20:29.310530 IP 172.16.1.2 > 192.168.0.196: ICMP echo request, id 512, seq 59686, length 40




FreeBSDtest# tcpdump -nqi sis0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on sis0, link-type EN10MB (Ethernet), capture size 96 bytes
16:26:25.483294 IP 192.168.0.194.1903 > 192.168.0.196.22: tcp 52
16:26:25.567291 00:15:f2:54:05:62 > 03:bf:c0:a8:00:e8, Unknown Ethertype (0x886f), length 1510:
16:26:25.714795 00:15:f2:53:fc:4e > 03:bf:c0:a8:00:e8, Unknown Ethertype (0x886f), length 1510:
16:26:25.998436 IP 192.168.0.196.22 > 192.168.0.194.1903: tcp 196
16:26:25.998438 IP 192.168.0.196.22 > 192.168.0.194.1903: tcp 196
16:26:25.998440 IP 192.168.0.196.22 > 192.168.0.194.1903: tcp 196
16:26:25.998441 IP 192.168.0.196.22 > 192.168.0.194.1903: tcp 0
16:26:25.998442 IP 192.168.0.196.22 > 192.168.0.194.1903: tcp 196
16:26:25.998444 IP 192.168.0.196.22 > 192.168.0.194.1903: tcp 196


sis0 e  outside interface- a
rl0 inside interface- a
 На sis0 изобщо няма никакви заявки от 172.16.1.2, а би трябвало понеже има постоянен пинг към тази карта ..


Титла: Nat проблем
Публикувано от: Hapkoc в Nov 12, 2007, 16:58
Не си прав. Като пингваш адреса, който е на "външната" карта на FreeBSD-то не е задължително с tcpdump да виждаш пакетите на тази карта. Адреса, който пингваш, FreeBSD го приема за локален за машината и де-факто се получава следното - приема се ICMP пакета през rl0, машината си казва "хм, този пакет е за мен, понеже имам конфигуриран такъв адрес на някой от интерфейсите, ще отговоря" и отговаря (през rl0 разбира се, според routing таблицата си).

Т.е. съвсем нормално е да не виждаш пакетите с tcpdump. Виж защо не успяваш да подкараш NAT-а ми е неизвестно. :)

Имам спомен, че във FreeBSD в rc.conf gateway_enable="YES" настройваше препращането на пакети (в OpenBSD е net.inet.ip.forwarding, във FreeBSD не знам как е променливата). Ако обаче си го copy/paste-нал в по-предишния си пост май ще трябва да си оправиш правописа точно на този ред - getaway. :)

Идеята ми е, че ми прилича баш на изключено маршрутизиране - FreeBSD-то не ще да препраща пакети м/у интерфейсите.


Титла: Nat проблем
Публикувано от: kellerman в Nov 12, 2007, 17:12
Hapkoc,

  Мерси много за помоща :)
  Правописа се оказа проблема :)

Жив и здрав !!


Титла: Nat проблем
Публикувано от: Nikolavp в Nov 12, 2007, 17:15
Цитат (kellerman @ Ноември 12 2007,15:59)
приемам, че проблема може и да е в затклавиатурното устройсто :)
два въпроса :)
1. що ти е конф. файла на първия рутер, НАТ-а е само на единия, там е проблема :)
 според мен първия рутер няма нищо общо :)
2. защо да преместят темата модераторите ? :)

1.Ти нищо не каза по въпроса на интернета за локалната мрежа.
2.Темата е за *BSD и си има отделна секция, все пак се радвам, че се решил проблема :)