Модераторы: powerfox, ZeeLax
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как настроить NAT на FreeBSD 8.0-RELEASE, Отсутствует выход в нет из локалки... 
V
    Опции темы
Marlik
Дата 24.12.2009, 23:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 212
Регистрация: 25.2.2007
Где: Рязань

Репутация: нет
Всего: нет



Здрасьте Всем!!!

Какая-то проблема неразрешимая, ну никак не настраивается ни nat ни natd...

Есть сервер, две сетевые карты re0 и  rl0. Интерфейс re0 смотрит в локалку, rl0 смотрит в локалку прова соединение по ADSL.
В интернет подключаюсь через pptp.  Четыре дня гуглил, перечитал все наверное русскоязычные статьи по этой проблеме, больше половины к сожалению содраны друг у друга. Настройки знаю почти наизусть, перепробовал наверное все варианты, самые работоспособные выкладываю. Что работает и что нет напишу ниже.

Код

#cat /etc/rc.conf
hostname="server"
defaultrouter="NO"
ifconfig_re0="inet 192.168.1.1 netmask 255.255.255.0"
ifconfig_rl0="inet 10.64.78.229 netmask 255.255.254.0"
static_routes="dns1 dns2 vpn gw net"
route_dns1="-host 91.203.64.2 10.64.79.254"
route_dns2="-host 91.203.64.1 10.64.79.254"
route_vpn="-host 172.31.1.245 10.64.79.254"
route_gw="-host 172.31.1.252 10.64.79.254"
route_net="-host 192.168.1.2 192.168.1.1"

gateway_enable="YES"
natd_enable="YES"
natd_interface="rl0"
natd_flags=""
#ppp_nat="NO"
#ppp_enable="YES"
#ppp_mode="dial"
#ppp_profile="adsl"

firewall_enable="YES"
firewall_type="OPEN"
firewall_logging="YES"
firewall_quiet="NO"

sshd_enable="YES"
#apache_enable="YES"
#mysql_enable="YES"

font8x16="cp866-8x16"
keymap="ru.koi8-r"



Тут мне кажется лишним включение в статический маршрут, адреса из локалки 192.168.1.2, но вроде он ни на что не влияет, оставил, пробовал и без него, так-же...

Код

# ifconfig -a
re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=389b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_UCAST,WOL_MCAST,WOL_MAGIC>
        ether 00:19:db:d9:5b:91
        inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.255
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=8<VLAN_MTU>
        ether 00:e0:51:17:00:4b
        inet 10.64.78.229 netmask 0xfffffe00 broadcast 10.64.79.255
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        options=3<RXCSUM,TXCSUM>
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
        inet6 ::1 prefixlen 128
        inet 127.0.0.1 netmask 0xff000000
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1500
        inet 10.100.57.4 --> 10.100.0.1 netmask 0xfffffe00
        Opened by PID 948


Код

# ipfw show
00050 159 19601 divert 8668 ip4 from any to any via rl0
00100   0     0 allow ip from any to any via lo0
00200   0     0 deny ip from any to 127.0.0.0/8
00300   0     0 deny ip from 127.0.0.0/8 to any
65000 638 73127 allow ip from any to any
65535   1    78 allow ip from any to any


Код

# netstat -nr
Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            10.100.57.4        US          0        5   tun0
10.64.78.0/23      link#2             U           0        0    rl0
10.64.78.229       link#2             UHS         0        0    lo0
10.100.0.1         link#4             UHS         0        0   tun0
10.100.57.4        link#4             UHS         0        0    lo0
91.203.64.1        10.64.79.254       UGHS        0        0    rl0
91.203.64.2        10.64.79.254       UGHS        0       54    rl0
127.0.0.1          link#3             UH          0        0    lo0
172.31.1.245       10.64.79.254       UGHS        1      104    rl0
172.31.1.252       10.64.79.254       UGHS        0        0    rl0
192.168.1.0/24     link#1             U           0        0    re0
192.168.1.1        link#1             UHS         0        0    lo0
192.168.1.2        192.168.1.1        UHS         1      355    re0

Internet6:
Destination                       Gateway                       Flags      Netif Expire
::1                               ::1                           UH          lo0
fe80::%lo0/64                     link#3                        U           lo0
fe80::1%lo0                       link#3                        UHS         lo0
ff01:3::/32                       fe80::1%lo0                   U           lo0
ff02::%lo0/32                     fe80::1%lo0                   U           lo0


Код

# sockstat
USER     COMMAND    PID   FD PROTO  LOCAL ADDRESS         FOREIGN ADDRESS
root     sshd       1017  3  tcp4   192.168.1.1:22        192.168.1.2:38486
root     pptp       1016  3  dgram  -> /var/run/logpriv
root     pptp       1016  6  stream -> /var/run/pptp/255.255.255.255:172.31.1.245
root     pptp       953   3  dgram  -> /var/run/logpriv
root     pptp       953   4  tcp4   10.64.78.229:10441    172.31.1.245:1723
root     pptp       953   5  stream /var/run/pptp/255.255.255.255:172.31.1.245
root     pptp       953   8  stream /var/run/pptp/255.255.255.255:172.31.1.245
root     ppp        948   10 dgram  -> /var/run/logpriv
smmsp    sendmail   867   3  dgram  -> /var/run/log
root     sendmail   860   3  tcp4   127.0.0.1:25          *:*
root     sendmail   860   4  dgram  -> /var/run/logpriv
root     sshd       858   3  tcp4   192.168.1.1:22        192.168.1.2:59307
root     sshd       843   3  tcp4   192.168.1.1:22        *:*
root     syslogd    608   4  dgram  /var/run/log
root     syslogd    608   5  dgram  /var/run/logpriv
root     syslogd    608   6  udp6   *:514                 *:*
root     syslogd    608   7  udp4   *:514                 *:*
root     natd       551   4  div4   *:8668                *:*
root     devd       423   5  stream /var/run/devd.pipe



Код

# ps -ax | grep nat
  551  ??  Ss     0:00.01 /sbin/natd -n rl0
 1040   2  S+     0:00.00 grep nat



Код

options        IPFIREWALL
options        IPFIREWALL_VERBOSE
options        IPFIREWALL_VERBOSE_LIMIT=50
options        IPFIREWALL_DEFAULT_TO_ACCEPT
options        IPDIVERT


Старый вариант сборки ядра, в новом еще больше фич, под рукой не оказалось...


Если еще нужна информация, то с готовностью предоставлю. Что работает: 

Пинги проходят с 192.168.1.2 по всем статическим маршрутам 172.31.1.245(vpn), 172.31.1.252(gw?), 91.203.64.2(dns), 91.203.64.1(dns2) 10.100.57.4(шлюз).
На 192.168.1.1(сервер) есть интернет. Не работает интернет с локалки 192.168.1.2. Перепробовал наверное все какие есть варианты, сюда обращаюсь уже в последнюю очередь. Посмотрите плз, свежим оком... может где и затупил немного... Четыре дня из-за компа никак не вылезу.



Это сообщение отредактировал(а) Marlik - 25.12.2009, 04:39
PM WWW Skype   Вверх
eXcile
Дата 25.12.2009, 06:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 168
Регистрация: 8.2.2007

Репутация: 1
Всего: 5



приведите named.conf
ЗЫ: трассировка до сайтов, на шлюзе глушится?
--------------------
Не становитесь рабом шаблона [Винсент Ван Гог]
PM MAIL   Вверх
Marlik
Дата 25.12.2009, 13:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 212
Регистрация: 25.2.2007
Где: Рязань

Репутация: нет
Всего: нет



Цитата(eXcile @ 25.12.2009,  06:20)
ЗЫ: трассировка до сайтов, на шлюзе глушится?

Нет, не глушится, tcpdump запущенный на 192.168.1.1(сервер) показал что при пинге с адреса 192.168.1.2(локалка) на www.google.ru идет запрос адреса на 91.203.64.2(dns в локалке прова), DNS отвечает и дает нужный IP, 192.168.1.2 получив IP, начинает посылать ICMP пакеты на этот IP, IP отвечает, пакеты попадают на сервер 192.168.1.1 и там застревают... 


Пакет bind ставил но не настраивал сплошь комменты...

Код

/* An example dynamic zone
key "examplerukey" {
        algorithm hmac-md5;
        secret "sf*****qh8ac87a02lla==";
};
zone "example.ru" {
        type master;
        allow-update {
                key "examplerukey";
        };
        file "dynamic/example.ru";
};
*/

/* Example of a slave reverse zone
zone "1.168.192.in-addr.arpa" {
        type slave;
        file "slave/1.168.192.in-addr.arpa";
        masters {
                192.168.1.1;
        };
};
*/
 

Такое ощущение что неправильный divert что-ли? 


Это сообщение отредактировал(а) Marlik - 25.12.2009, 14:48
PM WWW Skype   Вверх
eXcile
Дата 28.12.2009, 06:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 168
Регистрация: 8.2.2007

Репутация: 1
Всего: 5



у вас адреса днс прова, на клиенте указано?

и еще попробуйте defaultrouter задать значение адреса шлюза прова.


посмотрите эти ссылки, мне они помогли на фряхе сделать инет шлюз

http://www.opennet.ru/base/net/freebsd_gw3.txt.html
http://www.samag.ru/art/12.2006/12.2006_06.html

ЗЫ: пробуйте пока вообще выгнать клиента в инет без файервола, а затем уже будете резать траф правилами.

Это сообщение отредактировал(а) eXcile - 28.12.2009, 06:16
--------------------
Не становитесь рабом шаблона [Винсент Ван Гог]
PM MAIL   Вверх
Marlik
Дата 28.12.2009, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 212
Регистрация: 25.2.2007
Где: Рязань

Репутация: нет
Всего: нет



Спасибо все заработало, использовал pf.

Добавил нужные правила и все заработало. Оказывается что при пинге локалка лезла сначала к прову через rl0 на dns-сервак, получив адрес, локалка лезла уже через tun0, соответственно в таблице ната ничего не указано как с этого интерфейса натить, а во всех статьях использовался только один внешний интерфейс. Вот правила: 

Код

int_if="re0"
ext_if="rl0"
ext_if_tun="tun0"
localnet="192.168.1.0/24"

icmp_types="{echoreq, unreach}"

set block-policy return
set skip on lo0
set skip on $int_if

scrub in all

nat on $ext_if from $localnet to any -> ($ext_if)
nat on $ext_if_tun from $int_if:network to any -> ($ext_if_tun)

pass out on $ext_if proto tcp all modulate state flags S/SA
pass out on $ext_if proto { udp, icmp } all keep state

pass inet proto icmp all icmp-type $icmp_types

#antispoof quick for $ext_if
#bkock all


Теперь все как следует надо настроить. Спасибо за участие. Постов у меня мало, smile) плюс не воткнуть.
PM WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Linux/UNIX: Администрирование"
ZeeLax
Imple
nerezus
Этот форум предназначен для решения вопросов по администрации *n?x-систем, в частности по настройке сложных сетей и обслуживанию серверного оборудования.

  • Вы должны соблюдать правила форума.
  • Помните: какой вопрос, такой и ответ. Прежде чем задать вопрос прочитайте вот эту статью на форуме CIT.
  • Оскорблять запрещается.
  • Религиозные войны в Религиозных войнах.
  • Общение "просто так" в Клубе юнуксоидов. В отличие от многих других разделов, здесь разрешается сдержанно оффтопить и юморить в тему.

За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу).


В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим.


Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Администрирование *NIX систем | Следующая тема »


 




[ Время генерации скрипта: 0.0765 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.