Доброго времени суток!
Машина под FreeBSD.
Делаю как написано в HandBook
#это записываю в /etc/rc.conf
network_interfaces="lo0 tun0»
ifconfig_tun0=
# это в etc/start_if.tun0
ppp -auto mysystem
Всё работает замечательно но
Подскажите, пожалуйста:
1. как сделать, чтобы при первом автоматическом запуске не было дозвона? А то получается после загрузки мне инет не нужен, как правило, а система присоединяется и затем ждёт когда трафик не будет поступать в течении какого-то времени.
2. как можно в ручную отключить соединение с инетом? Если я набирю killalll ppp, то в следующий раз мне нужно заново запускать ppp -auto mysystem, и в результате никакого дозвона по запросу не получается. Понятно, что можно настроить, что бы выключение происходило автоматически, когда не поступает трафик. Но всё-таки иногда неободимо отключить в ручную.
Последние комментарии
- OlegL, 17 декабря 2023 года в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
1. Просмотри /etc/defaults/rc.conf. Там было что-то вроде ppp_autoload=…, т.е. можно напрямую ppp вызвать, а не через фэйс. При -auto он не должен соединяться сразу, у меня он этого не делает. Видать, у тебя что-то ломиться в инет при запуске, ну он и коннектит.
2. Тщательно man ppp. Там написано, как забадяжить, чтобы ppp открыл локальный порт для контроля.
за dns-ом, скорее всего. ;)
А как узнать что именно? Sendmail, qpopper и самбу (smbd, nmbd) я пробовал убить, но дозвон всё равно происходит при начальном подключении
что-то типа вот такой команды при запуске (в то время, когда начинает звонить):
и смотри, что у тебя лезет наружу
А что должно показать netstat -na, когда что-то рвётся? У меня опции -p нет, а без этой опции ничего не выводится.
все демоны что связаны с сетью, все поставил в NO в файле /etc/rc.conf. Перестал запускать samba. И всё равно дозвон осуществляется сам при наборе ppp -auto mts. Более того в HandBook написано следующее
######################
Строка 17:
Устанавливает адрес интерфейса. Строка x.x.x.x должна быть заменена на IP адрес,
который выделил вам провайдер. Строка y.y.y.y должна быть заменена на IP адрес шлюза
провайдера (компьютер, к которому вы подключаетесь). Если провайдер не сообщил адрес
шлюза, используйте 10.0.0.2/0. Если вам требуется использовать «вычисленные» адреса,
убедитесь, что создана запись в /etc/ppp/ppp.linkup в соответствии с инструкциями для
PPP и динамических IP адресов. Если эта строка опущена, ppp не может быть запущен в
режиме -auto.
########################
я закоментировал эту строку в /etc/ppp/ppp.conf и дозвон всё равно происходит. I am confused!!!
Подскажите в чём дело? Где посмотреть? Где покавыряться? Куда копать?
Вывод netstat после соединения с интернетом:
>netstat -a
Active Internet connections (including servers)
Proto Recv-Q Send-Q Local Address Foreign Address (state)
udp4 0 0 *.syslog .
udp6 0 0 *.syslog .
Active UNIX domain sockets
Address Type Recv-Q Send-Q Inode Conn Refs Nextref Addr
c1d0994c stream 0 0 0 c1d098c0 0 0 /tmp/.X11-unix/X0
c1d098c0 stream 0 0 0 c1d0994c 0 0
c1d09834 stream 0 0 0 c1d09000 0 0 /tmp/.X11-unix/X0
c1d09000 stream 0 0 0 c1d09834 0 0
c1d0908c stream 0 0 0 c1d09118 0 0 /tmp/.X11-unix/X0
c1d09118 stream 0 0 0 c1d0908c 0 0
c1d091a4 stream 0 0 0 c1d09230 0 0 /tmp/.X11-unix/X0
c1d09230 stream 0 0 0 c1d091a4 0 0
c1d092bc stream 0 0 0 c1d09348 0 0 /tmp/.X11-unix/X0
c1d09348 stream 0 0 0 c1d092bc 0 0
c1d093d4 stream 0 0 0 c1d09460 0 0 /tmp/.X11-unix/X0
c1d09460 stream 0 0 0 c1d093d4 0 0
c1d094ec stream 0 0 c1f3a318 0 0 0 /tmp/.X11-unix/X0
c1d097a8 stream 0 0 c1d07b58 0 0 0 /var/run/devd.pipe
c1d09578 dgram 0 0 0 c1d0971c 0 c1d09604
c1d09604 dgram 0 0 0 c1d0971c 0 c1d09690
c1d09690 dgram 0 0 0 c1d0971c 0 0
c1d0971c dgram 0 0 c1d19420 0 c1d09578 0 /var/run/log
По поводу цитаты из handbook. Какой-то бред. Я динамически получаю адрес. Для этого у меня в ppp.conf есть строка
при подключении тебя к провайдеру ;) тебе по протоколу ipcp выдаются адреса как твой, так и шлюза для настройки маршрутизации.
для работы в режиме auto документация гласит, что эти значения не могут быть динамическими (выставленными в 0.0.0.0).
поэтому, в качестве адреса установи из приватной сети. (где-то в документации должны быть примеры). в отцитированным тобою кусочке сказано, к примеру настроить адрес 10.0.0.2, являющися допустимым приватным адресом, по IANA.
Цитата из Handbook:
#############################
17 set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.255
Как и раньше, не включайте номер строки, он используется только для ссылки на строку в этом примере. Требуется отступ хотя бы в один пробел.
Строка 17:
Номер после символа / это число бит в адресе, которые будут запрошены ppp. Вы можете использовать более подходящие вам IP адреса, но пример выше всегда будет работать.
#############################
Особенно важна последняя строка.
Значит дело не в этой строке, должно быть… так как она по любому должна работать
Если прописать такую строка взамен моей
[/quote]
то выдаются предупреждения и дозвон всё равно происходит
/root# ppp -auto freerol
Working in auto mode
Using interface: tun0
Warning: iface add: ioctl(SIOCAIFADDR, 0.0.0.0/0 -> 0.0.0.0): Destination address required
Warning: set ifaddr: Failed 4
/root# killall ppp
адрес шлюза не может быть 0.0.0.0
потому и говорится — поставить 10.0.0.2/0, а ещё лучше — реальный ip провайдерского шлюза. он-то более-менее постоянный от раза к разу дозвона.
в общем, технология, если я ничего не путаю, такая. запускается ppp, и «как бы» поднимает маршрут для пакетов и нтернет.
но — для этого, чтобы маршрут установить — нужно указать default gateway, шлюз.
если всё получается, то после запуска ppp по команде `netstat -nr` (или как там правильно во фре таблицу маршрутизации глядеть) должне появиться маршрут до 0.0.0.0/0 через указанный шлюз.
Это сработало. Но проблема не решилась. Я убиваю все процессы типа inetd, smbd, sendmail, но дозвон по auto всёравно происходит. Как узнать какая прога рвётсяя в инет?
у меня такое подозрение, что это происходит от попытки сделать dns-запрос.
более, вроде как, ничего не должно ломиться, если всё остальное выключено.
но я ж могу и ошибаться…
отключи поднятие интерфейса автоматически при загрузке.
подними ручками, из шелла. а там по реакции…
набиваю ppp -auto freerol из шелла — дозвон всё равно происходит. Более того, после автоматического
отключения (если трафик не поступает в течении 20 секунд, то соединение обрывается), приблизительно
, через минуту система сама начинает дозвон (все сайты в эксплорерах до этого я закрываю) без ведомы
х причин…
Навсякий случай вывожу top и ps
last pid: 479; load averages: 0.68, 0.26, 0.10 up 0+00:01:20 12:02:17
22 processes: 1 running, 21 sleeping
CPU states: 0.0% user, 0.0% nice, 0.0% system, 8.5% interrupt, 91.5% idle
Mem: 7028K Active, 4868K Inact, 21M Wired, 4K Cache, 29M Buf, 460M Free
Swap: 1024M Total, 1024M Free
PID USERNAME PRI NICE SIZE RES STATE TIME WCPU CPU COMMAND
479 alek 96 0 7948K 4492K select 0:00 0.00% 0.00% vim
461 root 8 0 1676K 1332K wait 0:00 0.00% 0.00% login
469 root 20 0 2404K 1892K pause 0:00 0.00% 0.00% csh
462 root 8 0 1680K 1352K wait 0:00 0.00% 0.00% login
475 root 96 0 2348K 1592K RUN 0:00 0.00% 0.00% top
476 alek 20 0 2408K 1924K pause 0:00 0.00% 0.00% tcsh
426 root 96 0 1284K 764K select 0:00 0.00% 0.00% moused
259 root 96 0 1368K 900K select 0:00 0.00% 0.00% syslogd
473 root 96 0 3460K 2204K select 0:00 0.00% 0.00% ppp
400 root 8 0 1408K 1072K nanslp 0:00 0.00% 0.00% cron
468 root 5 0 1332K 960K ttyin 0:00 0.00% 0.00% getty
463 root 5 0 1332K 960K ttyin 0:00 0.00% 0.00% getty
466 root 5 0 1332K 960K ttyin 0:00 0.00% 0.00% getty
465 root 5 0 1332K 960K ttyin 0:00 0.00% 0.00% getty
464 root 5 0 1332K 960K ttyin 0:00 0.00% 0.00% getty
467 root 5 0 1332K 960K ttyin 0:00 0.00% 0.00% getty
457 root -8 0 1248K 660K piperd 0:00 0.00% 0.00% logger
460 root 8 0 1232K 480K nanslp 0:00 0.00% 0.00% sleep
459 root 8 0 1848K 1236K wait 0:00 0.00% 0.00% sh
456 root 8 0 1848K 1236K wait 0:00 0.00% 0.00% sh
239 root 116 0 528K 384K select 0:00 0.00% 0.00% devd
334 root 96 0 1288K 772K select 0:00 0.00% 0.00% usbd
/root# ps
PID TT STAT TIME COMMAND
461 v0 Is 0:00,02 login [pam] (login)
469 v0 S 0:00,02 -csh (csh)
484 v0 R+ 0:00,00 ps
462 v1 Is 0:00,02 login [pam] (login)
463 v2 Is+ 0:00,00 /usr/libexec/getty Pc ttyv2
464 v3 Is+ 0:00,00 /usr/libexec/getty Pc ttyv3
465 v4 Is+ 0:00,00 /usr/libexec/getty Pc ttyv4
466 v5 Is+ 0:00,00 /usr/libexec/getty Pc ttyv5
467 v6 Is+ 0:00,00 /usr/libexec/getty Pc ttyv6
468 v7 Is+ 0:00,00 /usr/libexec/getty Pc ttyv7
после установления соединения запусти tcpdump на этом интерфейсе.
естественно, почитай ман, как попросить его не пробовать резолвить ip-адреса в имена. чтобы оно само не поднимало коннект.
из приведённых тобой процессов, к примеру, к dns, может обращаться syslogd.
тот же login пытается для приветствия определить имя компа.
и если оно не прописано правильно в /etc/hosts и/или не указан домен для него, который в этом случае равен «(none)» — происходит попытка обратиться к внешнему dns-серверу (кстати, это зависит от содержимого /etc/nsswitch.conf), адрес которого содержится в /etc/resolv.conf.
(ессно, что это я говорю как есть в линухе, даже точнее в родном для меня debian. поэтому надо немного адаптировать для твоей фри).
csh, если имеет в приглащении имя компа, первый раз пробует определить имя и ip-адрес. потом не пытается, до следующего запуска.
в общем, на знании этих вот вохможных попыток достучаться до dns-сервера и основывается подозрение о том, что это из-за этого. ну, как я уже говорил — это может быть не так. особенно в случае с фрибсд — я её можно сказать что почти не знаю… :( хотя, так чуйствую, что — уже надо бы.
Спасибо! Обязательно поколдую над tcpdump & ppp -auto