Jump to content

Выпускаем локалку в инет (сервер FreeBSD)


Recommended Posts

Есть сетка + есть сервак со СтарГазером...не получатся настроить инет на серваке даже.

Помогите пожалуйста, скажите что не правильно делаю. Кажется все делаю правильно но результата нет.

Итак задача:

есть локальная сеть 192.168.0.1/16

Канал в инет: пров дал IP 10.32.15.2, маска 255.255.255.0 шлюз 10.32.15.1

DNS 195.177.116.130

-------

На сервере: xl0 - интернет , xl1 - локалка

 

Содержимое файла rc.conf то что касается сети

network_interfaces="lo0 xl1 xl0 fxp0" 
ifconfig_lo0="inet 127.0.0.1 netmask 255.0.0.0"	
ifconfig_xl0="inet 10.32.15.2 netmask 255.255.255.0"
ifconfig_xl1="inet 192.168.0.1 netmask 255.255.0.0"

defaultrouter="10.32.15.1"

dhclient_program="/sbin/dhclient"
dhclient_flags="xl0"    - [B]вот тут я не увер, нужно мне это или нет[/B]
natd_program="/sbin/natd"
natd_enable="YES"

natd_interface="xl0"  
natd_flags="-a 10.32.15.2"
update_motd="NO"
accounting_enable="YES"


hostname="MEGAHOST"	
firewall_enable="YES"  
firewall_script="/etc/rc.firewall" 
firewall_type="MyServer"	
firefirewall_quiet="NO"  
firewall_logging="YES"  
firewall_flags=""  

tcp_extensions="NO"  
tcp_drop_synfin="YES"  
icmp_drop_redirect="YES"  
icmp_log_redirect="YES"  


### Network routing options: ###
 

inetd_enable="YES"
inetd_flags="-wW -C 64 -R 1024 -s 5"

named_rcng="NO"  	
named_enable="YES"  

named_symlink_enable="YES"	
dhcpd_enable="YES"  d
hcpd_flags="-q"  
dhcpd_conf="/usr/local/etc/dhcpd.conf"	
dhcpd_ifaces="xl1"  
dhcpd_umask="022"  

 

Текст IPFW

add 100 deny log ip from not 192.168.0.0/16 to any in recv xl1
add 200 deny log ip from any to not 192.168.0.0/16 out xmit xl1


add 500 count ip from any to any in recv xl0
add 510 count ip from any to any out xmit xl0

add 700 allow ip from table\(1\) to me dst-port 22 via xl0
add 800 allow ip from me to any via xl0

# FTP
add 910 deny ip from any to me 21 via xl0
# WWW
add 920 allow ip from table\(1\) to me 80 via xl0
add 930 deny ip from any to me 80 via xl0
# Mysql
add 940 deny ip from any to me 3306 via xl0
add 1000 allow ip from any to any via lo0	

# пропускаем локальный траффик
add 3000 allow ip from any to any via xl1
add 10000 skipto 15000 ip from me to any via xl0
add 10100 skipto 15000 ip from any to me via xl0
add 10200 skipto 15000 ip from table\(2\) to any via xl0

add 14000 deny ip from any to any via xl0
add 20000 divert natd ip from any to any via xl0
add 50000 allow ip from any to any
add 50010 allow icmp from any to any
add 65000 pass all from any to any

 

Я правильно понял, что ДНС провайдера нужно записывать в

resolv.conf

во таким образом ?

nameserver 195.177.116.130

Link to post
Share on other sites

Содержимое etc/namedb.conf

key "rndc-key" {
      algorithm hmac-md5;
      secret "oAs9SdEB1qx/lqWYwER9Rg==";
};

controls {
      inet 127.0.0.1 port 953
      allow { 127.0.0.1; } keys { "rndc-key"; };
};



options {	
#version  	"MEGAHOST server";
directory  "/etc/namedb";
pid-file  	"/var/run/named.pid";
allow-query  { 192.168.0.0/16; 127.0.0.1; };
allow-transfer  { none; };
listen-on  { 192.168.0.1; 127.0.0.1; };
forward  	first;

forwarders  {195.177.116.130; 195.177.116.132;};	

};


zone "localhost" in {
   type master;
   file "/etc/namedb/master/localhost.zone";
   allow-update { none; };
};

zone "0.0.127.in-addr.arpa" in {
   type master;
   file "/etc/namedb/master/localhost.rev";
   allow-update { none; };
};

zone "" in {
   type master;
   file "/etc/namedb/master/MEGAHOST-local";
   allow-update { none; };
};

zone "168.192.in-addr.arpa" in {
   type master;
   file "master/168.192.in-addr.arpa";
   allow-update { none; };
};

 

В итоге после установки таких конфигов, настройки интерфейса xl0 вообще сбиваются как-будто их и не было. То ли из-за неправельных IPFW правил, то ли еще из-за чего...я уже не знаю :).

 

Инета на сервера даже нет, адресс 10.32.15.2 ( тоесть свой) пингуется и больше ничего.

 

Если нужно содержимое еще каких-то файлов, говорите. А может я не знаю про еще каки-то необходимые настройки.

И где все-же нужно указывать DNS сервера ?

Link to post
Share on other sites
# пропускаем локальный траффик
add 3000 allow ip from any to any via xl1
add 10000 skipto 15000 ip from me to any via xl0
add 10100 skipto 15000 ip from any to me via xl0
add 10200 skipto 15000 ip from table\(2\) to any via xl0

add 14000 deny ip from any to any via xl0
add 20000 divert natd ip from any to any via xl0
add 50000 allow ip from any to any
add 50010 allow icmp from any to any
add 65000 pass all from any to any

Насколько я помню, правило 15000 должно существовать, иначе работать ничего не будет, обработка правил остановится на этих скипах и всё.

 

Может проблема именно в этом.

 

Если у тебя поднят named, то в resolv.conf надо написать nameserver 127.0.0.1 (т.е. резолвить через локальный днс), а в настройках намеда уже указать форвардерсы (ты их как раз прописал, всё ок).

 

Далее, ты пишешь, что провайдер дал адрес 10.32.15.1 со шлюзом 10.32.15.2, однако в rc.conf ты пишешь defaultrouter="10.32.15.1" - в конце должна быть двойка!

Link to post
Share on other sites

та то я перепутал когда писал пост, IP 10.32.15.2

И не совсем понятно про :)

Насколько я помню, правило 15000 должно существовать, иначе работать ничего не будет

 

Что-ли номер такой должен быть ?

Link to post
Share on other sites
Что-ли номер такой должен быть ?

ну да, у тебя делается skipto 15000, а такого правила нет, поэтому на это skipto обработка правил и заканчивается. Т.е. до divert-а уже не доходит, потому nat и не работает.

Link to post
Share on other sites

Да в полне может быть. Я это проверю. Но вот тогда интиресно а чего настройки интерфейста так по наглому сбиваются ?

И кстати когда на xl0 был подключен подем xDSL который получайл все автоматом....то с такими правилами все работало :)

 

И еще вопрос. dhclient_flags="xl0" в rc.conf мне надо ?

Link to post
Share on other sites

1. Если пров дает адрес не по dhcp, а статически, то строки

dhclient_program="/sbin/dhclient"

dhclient_flags="xl0"

нахрен не нужны.

Возможно изза них настройки xl0 и пропадают.

Советую посмотреть man dhclient.

 

2. Опции

natd_interface="xl0"

natd_flags="-a 10.32.15.2"

взаимоисключают друг друга.

Если запускаешь natd с параметрами natd -n fxp0 -a 192.168.1.1

то он ругается: natd: both alias address and interface name are not allowed

Подробности в man natd.

 

3. Сообщение "ipfw limit 12 reached on entry 100" , имхо, выдается оттого, что лимит сообщений от ipfw установлен в 10 или 12.

Проверяется командой

sysctl net.inet.ip.fw.verbose_limit

 

4. Правила с номером 15000 может и не быть.

Цитата из man ipfw:

skipto number

Skip all subsequent rules numbered less than number. The search

continues with the first rule numbered number or higher.

Т.е. skipto 15000 переводит на правило, начинающееся с номера 15000 или выше, первое, которое попадется после 15000.

Link to post
Share on other sites
4. Правила с номером 15000 может и не быть.

Цитата из man ipfw:

skipto number

Skip all subsequent rules numbered less than number. The search

continues with the first rule numbered number or higher.

Т.е. skipto 15000 переводит на правило, начинающееся с номера 15000 или выше, первое, которое попадется после 15000.

Возможно, не на всех версиях. У меня была ситуация, когда skipto не перепрыгивал на "следующе за", поэтому и обратил внимание.

Link to post
Share on other sites

natd_interface="xl0"

natd_flags="-a 10.32.15.2"

взаимоисключают друг друга.

Если запускаешь natd с параметрами natd -n fxp0 -a 192.168.1.1

так что лучше оставить в конфиге ?

строку

natd_interface="xl0"

или

natd_flags="-a 10.32.15.2"

Link to post
Share on other sites

кому как удобней, вот если у вас адрес выдаётся по ДХЦП то лучше первый вариант, а если вы хотите запустить несколько натов, то лучше второй. Решать вам.

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...