nixp.ru v3.0

23 октября 2017,
понедельник,
13:01:08 MSK

DevOps с компанией «Флант»
Fatal написал 26 декабря 2004 года в 17:47 (547 просмотров) Ведет себя как мужчина; открыл 123 темы в форуме, оставил 484 комментария на сайте.

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

Машина под 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, и в результате никакого дозвона по запросу не получается. Понятно, что можно настроить, что бы выключение происходило автоматически, когда не поступает трафик. Но всё-таки иногда неободимо отключить в ручную.

myst

1. Просмотри /etc/defaults/rc.conf. Там было что-то вроде ppp_autoload=…, т.е. можно напрямую ppp вызвать, а не через фэйс. При -auto он не должен соединяться сразу, у меня он этого не делает. Видать, у тебя что-то ломиться в инет при запуске, ну он и коннектит.

2. Тщательно man ppp. Там написано, как забадяжить, чтобы ppp открыл локальный порт для контроля.

Genie
Видать, у тебя что-то ломиться в инет при запуске, ну он и коннектит.


за dns-ом, скорее всего. ;)

Fatal
myst
у тебя что-то ломиться в инет при запуске, ну он и коннектит.

А как узнать что именно? Sendmail, qpopper и самбу (smbd, nmbd) я пробовал убить, но дозвон всё равно происходит при начальном подключении

Genie
Fatal
А как узнать что именно? Sendmail, qpopper и самбу (smbd, nmbd) я пробовал убить, но дозвон всё равно происходит при начальном подключении

что-то типа вот такой команды при запуске (в то время, когда начинает звонить):

$ netstat -apn|grep ^[rtu][acd]

и смотри, что у тебя лезет наружу

Fatal

А что должно показать netstat -na, когда что-то рвётся? У меня опции -p нет, а без этой опции ничего не выводится.

Fatal

все демоны что связаны с сетью, все поставил в 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

myst

По поводу цитаты из handbook. Какой-то бред. Я динамически получаю адрес. Для этого у меня в ppp.conf есть строка

set   ifaddr   0.0.0.0   0.0.0.0   0.0.0.0   0.0.0.0
Genie

при подключении тебя к провайдеру ;) тебе по протоколу ipcp выдаются адреса как твой, так и шлюза для настройки маршрутизации.

для работы в режиме auto документация гласит, что эти значения не могут быть динамическими (выставленными в 0.0.0.0).

поэтому, в качестве адреса установи из приватной сети. (где-то в документации должны быть примеры). в отцитированным тобою кусочке сказано, к примеру настроить адрес 10.0.0.2, являющися допустимым приватным адресом, по IANA.

Fatal

Цитата из Handbook:

#############################

17 set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.255

Как и раньше, не включайте номер строки, он используется только для ссылки на строку в этом примере. Требуется отступ хотя бы в один пробел.

Строка 17:

Номер после символа / это число бит в адресе, которые будут запрошены ppp. Вы можете использовать более подходящие вам IP адреса, но пример выше всегда будет работать.

#############################

Особенно важна последняя строка.

Значит дело не в этой строке, должно быть… так как она по любому должна работать

Fatal

Если прописать такую строка взамен моей

set   ifaddr   0.0.0.0   0.0.0.0   0.0.0.0   0.0.0.0


[/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

Genie
Если провайдер не сообщил адрес шлюза, используйте 10.0.0.2/0.


Warning: iface add: ioctl(SIOCAIFADDR, 0.0.0.0/0 -> 0.0.0.0): Destination address required

адрес шлюза не может быть 0.0.0.0

потому и говорится — поставить 10.0.0.2/0, а ещё лучше — реальный ip провайдерского шлюза. он-то более-менее постоянный от раза к разу дозвона.

в общем, технология, если я ничего не путаю, такая. запускается ppp, и «как бы» поднимает маршрут для пакетов и нтернет.

но — для этого, чтобы маршрут установить — нужно указать default gateway, шлюз.

если всё получается, то после запуска ppp по команде `netstat -nr` (или как там правильно во фре таблицу маршрутизации глядеть) должне появиться маршрут до 0.0.0.0/0 через указанный шлюз.

Fatal

Это сработало. Но проблема не решилась. Я убиваю все процессы типа inetd, smbd, sendmail, но дозвон по auto всёравно происходит. Как узнать какая прога рвётсяя в инет?

Genie

у меня такое подозрение, что это происходит от попытки сделать dns-запрос.

более, вроде как, ничего не должно ломиться, если всё остальное выключено.

но я ж могу и ошибаться…

отключи поднятие интерфейса автоматически при загрузке.

подними ручками, из шелла. а там по реакции…

Fatal
Genie
подними ручками, из шелла

набиваю 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

Genie

после установления соединения запусти tcpdump на этом интерфейсе.

естественно, почитай ман, как попросить его не пробовать резолвить ip-адреса в имена. чтобы оно само не поднимало коннект.

из приведённых тобой процессов, к примеру, к dns, может обращаться syslogd.

тот же login пытается для приветствия определить имя компа.

и если оно не прописано правильно в /etc/hosts и/или не указан домен для него, который в этом случае равен «(none)» — происходит попытка обратиться к внешнему dns-серверу (кстати, это зависит от содержимого /etc/nsswitch.conf), адрес которого содержится в /etc/resolv.conf.

(ессно, что это я говорю как есть в линухе, даже точнее в родном для меня debian. поэтому надо немного адаптировать для твоей фри).

csh, если имеет в приглащении имя компа, первый раз пробует определить имя и ip-адрес. потом не пытается, до следующего запуска.

в общем, на знании этих вот вохможных попыток достучаться до dns-сервера и основывается подозрение о том, что это из-за этого. ну, как я уже говорил — это может быть не так. особенно в случае с фрибсд — я её можно сказать что почти не знаю… :( хотя, так чуйствую, что — уже надо бы.

Fatal

Спасибо! Обязательно поколдую над tcpdump & ppp -auto