LINUX.ORG.RU
ФорумAdmin

PPPoE подключение FreeBSD-маршрутизатора

 ,


0

1

Доброго времени суток.

Есть маршрутизатор на базе FreeBSD-сервера. Для доступа извне по RDP к машинам из локальной сети поднят VPN (pptp) сервер с помощью mpd5.

Все это было настроено первоначально и прекрасно работало, однако сейчас сменился провайдер.

Интернет-соединение должен осуществлять ADSL-модем Starnet AR800 через PPPoE.

Сам я в этом разбираюсь плохо, поэтому использовались маны и статьи из интернета.

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

Внешний интерфейс назван ext0, внутренний - int0.

Настройка ppp выполнялась по хэндбуку, ppp.conf:

default:
   set log Phase tun command
   set ifaddr 10.0.0.1/0 10.0.0.2/0

rostelecom:
   set device PPPoE:ext0
   set authname LOGIN
   set authkey PASS
   set dial
   set login
   add default HISADDR

Фрагмент rc.conf (закомментированы старые настройки):

# defaultrouter="46.52.189.41"
gateway_enable="YES"
hostname="<HOSTNAME>"

ifconfig_alc0_name="ext0"
ifconfig_en0_name="int0"

# ifconfig_ext0="inet 46.52.189.42 netmask 255.255.255.0"
ifconfig_ext0="inet <NEW_IP> netmask 255.255.255.0"
ifconfig_int0="inet 192.168.2.1 netmask 255.255.255.0"

# ...

Здесь <NEW_IP> - выделенный статический IP-адрес.

Пытаюсь поднять подключение:

ppp -ddial rostelecom

В stdout пишется «Using interface: tun0». Но интернета нет, ping ругается на unknown host.

Что я сделал не так?

И еще проблема: пытаюсь смонтировать флешку размером 32GB с NTFS:

mount -t ntfs /dev/da0s1 /mnt/usbflash

Флешка монтируется, файлы на ней читаются, но при попытке создать новый файл выдается ошибка, что такого файла не существует. Также при подключении флешки выдается что-то типа «GEOM: da0: partition 1 does not end on a track boundary»

Заранее спасибо.

Флешка монтируется, файлы на ней читаются, но при попытке создать новый файл выдается ошибка, что такого файла не существует. Также при подключении флешки выдается что-то типа «GEOM: da0: partition 1 does not end on a track boundary»

Эммм. Во FreeBSD стандартный драйвер ntfs умеет только чтение.

IPR ★★★★★
()
Ответ на: комментарий от sergv

Поменял, все равно не работает.

Вот вывод ifconfig:

ext0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=c3198<VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MCAST,WOL_MAGIC,VLAN_HWTSO,LINKSTATE>
	ether 54:04:a6:90:fa:4d
	media: Ethernet autoselect (100baseTX <full-duplex>)
	status: active
int0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC>
	ether 00:1b:21:39:6b:4c
	inet 192.168.2.1 netmask 0xffffff00 broadcast 192.168.2.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 
	nd6 options=3<PERFORMNUD,ACCEPT_RTADV>
ipfw0: flags=8801<UP,SIMPLEX,MULTICAST> metric 0 mtu 65536
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1492
	options=80000<LINKSTATE>
	inet 87.225.83.44 --> 10.27.0.137 netmask 0xffffffff 
	Opened by PID 1390
theNamelessOne ★★★★★
() автор топика
Ответ на: комментарий от sergv

netstat -ni

Name    Mtu Network       Address              Ipkts Ierrs Idrop    Opkts Oerrs  Coll
ext0   1500 <Link#1>      54:04:a6:90:fa:4d      145     0     0      271     0     0
int0   1500 <Link#2>      00:1b:21:39:6b:4c     1312     0     0     1141     0     0
int0   1500 192.168.2.0/2 192.168.2.1           1125     -     -     1132     -     -
lo0   16384 <Link#3>                               0     0     0        0     0     0
lo0   16384 fe80:3::1/64  fe80:3::1                0     -     -        0     -     -
lo0   16384 ::1/128       ::1                      0     -     -        0     -     -
lo0   16384 127.0.0.0/8   127.0.0.1                0     -     -        0     -     -
ipfw0 65536 <Link#4>                               0     0     0        0     0     0
tun0   1492 <Link#5>                             128     0     0      255     0     0
tun0   1492 87.225.83.44/ 87.225.83.44           128     -     -      134     -     -

netstat -nr

Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            10.27.0.137        UGS         0      293   tun0
10.27.0.137        link#5             UHS         0        0   tun0
87.225.83.44       link#5             UHS         0        0    lo0
127.0.0.1          link#3             UH          0        0    lo0
192.168.2.0/24     link#2             U          11     1184   int0
192.168.2.1        link#2             UHS         0        0    lo0

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

ipfw

rc.conf:

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

Где задаются правила для него, я не нашел, но dmesg вывел следующее:

Starting devd.
ipfw2 (+ipv6) initialized, divert loadable, nat loadable, rule-based forwarding disabled, default to deny, logging disabled
Flushed all rules.
00100 allow ip from any to any via lo0
00200 deny ip from any to 127.0.0.0/8
00300 deny ip from 127.0.0.0/8 to any
00400 deny ip from any to ::1
00500 deny ip from ::1 to any
00600 allow ipv6-icmp from :: to ff02::/16
00700 allow ipv6-icmp from fe80::/10 to fe80::/10
00800 allow ipv6-icmp from fe80::/10 to ff02::/16
00900 allow ipv6-icmp from any to any ip6 icmp6types 1
01000 allow ipv6-icmp from any to any ip6 icmp6types 2,135,136
ipfw: 
getsockopt(IP_FW_ADD)
: 
Invalid argument
65000 allow ip from any to any
Firewall rules loaded.
Firewall logging enabled.

Кстати, в dmesg также есть следующее:

ext0: cannot get interface address
theNamelessOne ★★★★★
() автор топика
Ответ на: комментарий от xscrew

ну теперь осталось дефолт роут сделать на 10.27.0.137

defaultrouter=«10.27.0.137» в rc.conf?

прописать днски

По умолчанию (при работе модема в режиме роутера), они должны раздаваться по DHCP. В офисе провайдера мне сказали использовать в качестве DNS адрес модема (192.168.1.1), я добавил в resolv.conf.

theNamelessOne ★★★★★
() автор топика
Ответ на: комментарий от xscrew

ну теперь осталось дефолт роут сделать на 10.27.0.137 и прописать днски и все будет работать.

Дефолт у него есть. А вот что «cat /etc/resolv.conf» выдает - это вопрос...

sergv
()
Ответ на: комментарий от theNamelessOne

По умолчанию (при работе модема в режиме роутера), они должны раздаваться по DHCP.

Какой DHCP? Линк - PPPoE. Point-To-Point...

В офисе провайдера мне сказали использовать в качестве DNS адрес модема (192.168.1.1), я добавил в resolv.conf.

Это когда модем в инет выходит и на нем DNS-Relay поднят.

Поставь 8.8.8.8.

sergv
()
Последнее исправление: sergv (всего исправлений: 1)
Ответ на: комментарий от theNamelessOne

defaultrouter=«10.27.0.137» в rc.conf?

Он же может меняться, поэтому не стоит.

По умолчанию (при работе модема в режиме роутера), они должны раздаваться по DHCP. В офисе провайдера мне сказали использовать в качестве DNS адрес модема (192.168.1.1), я добавил в resolv.conf.

Ну у тебя же в режиме бриджа.

В общем как я понимаю:

Во первых - почему бы не юзать mpd5?

Во вторых" Здесь <NEW_IP> - выделенный статический IP-адрес." - наверное здесь речь о статическом адресе, который предоставляет провайдер? - Тогда это адрес твоего конца туннеля. На ext0 - адрес из локальной сети провайдера, статика там или dhcp - не знаю, но это не тот статический адрес.

В третьих - дефолт роут всегда должен быть другой конец туннеля, если он меняется - то нужен скриптец, который тебе будет прописывать новый дефолтроут при поднятии туннеля. mpd5 умеет делать это сам.

В четвертых - настройки DNS, они вообще могут прилетать от сервера PPPoE, так что смотри как твой клиент их инсталлит. По-моему mpd5 умеет.

Ну и еще плюс в том, что mpd5 юзает подсистему netgrpah, следовательно работает на уровне ядра, что ведет к много лучшему быстродействию.

xscrew ★★
()
Ответ на: комментарий от sergv

ваще да, проглядел настройку в его ppp.conf - add default HISADDR

xscrew ★★
()
Ответ на: комментарий от xscrew

В четвертых - настройки DNS, они вообще могут прилетать от сервера PPPoE, так что смотри как твой клиент их инсталлит. По-моему mpd5 умеет.

$ man 8 ppp
//...

dns
             Default: Disabled and Denied.  This option allows DNS negotia-
             tion.

             If ``enabled,'' ppp will request that the peer confirms the
             entries in /etc/resolv.conf.  If the peer NAKs our request (sug-
             gesting new IP numbers), /etc/resolv.conf is updated and another
             request is sent to confirm the new entries.

             If ``accepted,'' ppp will answer any DNS queries requested by the
             peer rather than rejecting them.  The answer is taken from
             /etc/resolv.conf unless the ``set dns'' command is used as an
             override.
// ...
     resolv command
         This command controls ppp's manipulation of the resolv.conf(5) file.
         When ppp starts up, it loads the contents of this file into memory
         and retains this image for future use.  command is one of the follow-
         ing:

         readonly  Treat /etc/resolv.conf as read only.  If ``dns'' is
                   enabled, ppp will still attempt to negotiate nameservers
                   with the peer, making the results available via the DNS0
                   and DNS1 macros.  This is the opposite of the ``resolv
                   writable'' command.

         reload    Reload /etc/resolv.conf into memory.  This may be necessary
                   if for example a DHCP client overwrote /etc/resolv.conf.

         restore   Replace /etc/resolv.conf with the version originally read
                   at startup or with the last ``resolv reload'' command.
                   This is sometimes a useful command to put in the
                   /etc/ppp/ppp.linkdown file.

         rewrite   Rewrite the /etc/resolv.conf file.  This command will work
                   even if the ``resolv readonly'' command has been used.  It
                   may be useful as a command in the /etc/ppp/ppp.linkup file
                   if you wish to defer updating /etc/resolv.conf until after
                   other commands have finished.

         writable  Allow ppp to update /etc/resolv.conf if ``dns'' is enabled
                   and ppp successfully negotiates a DNS.  This is the oppo-
                   site of the ``resolv readonly'' command.
sergv
()
Ответ на: комментарий от sergv

Какой DHCP? Линк - PPPoE. Point-To-Point...

Ну, в настройках модема стояла галочка «Enable LAN DHCP», вот я и подумал... Хотя я нуб, да.

Поставь 8.8.8.8

Сделал, все заработало (даже VPN). sergv, xscrew, спасибо большое!

theNamelessOne ★★★★★
() автор топика
Ответ на: комментарий от xscrew

Во первых - почему бы не юзать mpd5?

Для поднятия PPPoE? А есть что почитать на эту тему, кроме мануала по mpd5 (а то он огромен, да и я не очень понимаю базовые понятия)?

theNamelessOne ★★★★★
() автор топика
Ответ на: комментарий от sergv

Еще вопрос: а то, что я сейчас не могу зайти на веб-интерфейс модема (192.168.1.1) — это нормально? Или нужно настройки файрвола смотреть?

theNamelessOne ★★★★★
() автор топика
Ответ на: комментарий от theNamelessOne

Еще вопрос: а то, что я сейчас не могу зайти на веб-интерфейс модема (192.168.1.1) — это нормально? Или нужно настройки файрвола смотреть?

Нормально. Можно поменять так:

-ifconfig_ext0="up"
+ifconfig_ext0="inet 192.168.1.2 netmask 255.255.255.0"

И тогда ходить будет.

P.S.: Вообще неплохо-бы книжку какую про IP-сети и маршрутизацию посмотреть. А лучше - почитать.

sergv
()
Ответ на: комментарий от sergv

И тогда ходить будет.

Спасибо.

P.S.: Вообще неплохо-бы книжку какую про IP-сети и маршрутизацию посмотреть. А лучше - почитать.

Это в планах.

theNamelessOne ★★★★★
() автор топика
Ответ на: комментарий от sergv

специалисты ЛОРа, они такие!

Вот это точно надо исправить:
-ifconfig_ext0=«inet <NEW_IP> netmask 255.255.255.0»
+ifconfig_ext0=«up»

---

Нормально. Можно поменять так:
-ifconfig_ext0=«up»
+ifconfig_ext0=«inet 192.168.1.2 netmask 255.255.255.0»

zgen ★★★★★
()
Ответ на: комментарий от zgen

Что не нравится?

Если ТС себе выделенный IP заместо PPPoE на изер весил, то это надо убрать.

А вот если с ентого изера еще и мудемом рулить хоцца, то надо на него IP таки повесить, но ПРАВИЛЬНЫЙ.

sergv
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.