Сообщество - Лига Сисадминов

Лига Сисадминов

2 236 постов 18 765 подписчиков

Популярные теги в сообществе:

Изменение размера рута в Убунте. Вопрос

Коллеги, добрый день. Направьте на путь истинный, пожалуйста. Есть комп с двумя ОС: Виндой и Убунтой. На Убунте у рута кончается место, хочу отрезать от Винды и увеличить рут. В интернете нашел статью с тем, как это сделать - предлагается через GPArted. Но в доке на GParted написано, что разделы с установочными файлами (я так понимаю, что это рут и есть с его либами) нельзя переносить, а иначе мне никак не передвинуть разделы, чтобы пустая нераспределенная память оказалась рядом с разделом рута. Я правильно понимаю, что мне в этой ситуации только переустанавливать Убунту или есть способы?

154

Panasonic KX-TDA600 и Asterisk. О их дружбе и недружбе

Итак, как и обещал, завершаю историю про подключение ведомственной АТС Panasonic KX-TDA600 и Asterisk.Начало тут: Краткие заметки по дружбе OpenVox D110P (Digium Wildcard TE110P) и Астериск в 2022 году

По немногочисленным руководствам из интернетов начал ковырять АТС Panasonic. В деле настройки АТС я полный ноль, поэтому на быстрый результат не рассчитывал. Нашу АТС лет 10 назад кто то настроил (по слухам - приглашённый специалист), и с тех пор она работала, работала и работала. Надёжная штука.

Скопировал себе содержимое SD карточки что бы откатиться к исходным настройкам если вдруг чо.

Поставил переключатели на плате PRI30 в нужные позиции и вставил плату в АТС.

Panasonic KX-TDA600 и Asterisk. О их дружбе и недружбе Asterisk, Panasonic, Длиннопост

Для RJ45 ставим переключатель на лицевой планке в положение 120 Ом. (Кстати, разъём для ISDN PRI не RJ45 на самом деле, а RJ47, господа связисты быстро начинают глумиться на форумах, если вдруг RJ47 для E1 назвал привычным RJ45. RJ45 кстати вполне подходит, и все в основном его и используют, но сам факт показать свою значимость и осведомлённость - бесценен. Я на связных форумах называл его осторожно - 8p8c :)))).

Переключатель на плате указывает, какой кабель используем - прямой или кросс. А - прямой, B - кросс. Для E1 используются 1,2 - первая пара, 4,5 - вторая.

Т.е. прямой кабель - 1 - бело-оранжевый, 2 - оранжевый, 4 - бело-зелёный, 5 - зелёный. Второй конец так же.

Кросс - 1 - бело-оранжевый, 2 - оранжевый, 4 - бело-зелёный, 5 - зелёный. С другой стороны - 1 - бело-зелёный, 2 - зелёный, 4 - бело-оранжевый, 5 - оранжевый.

Я использовал кросс.

Инструкция строго рекомендует на кабель вешать феррит. Хз, я не вешал.


Естесственно, при попытке захода на Панасоник пароль не подошел. Гуглим.

Натыкаемся на ЭТОТ форум, где человек спрашивает про сброс пароля и ему господа связисты, а именно НачШтаба рекомендует обратится к нему и он-де сбросит пароль за деньги. При этом говорит что вы, сисадмины весьма самонадеянны и считаете, что вам всё по плечу. А связь - "это вам не это". Понятно... - подумал я и продолжил гуглёж.

И на второй странице выдачи гугла нашел вот это руководство. Программа отработала на 5+, и я попал на нашу АТС. Проинициализировал плату PRI30.

По мотивам Вот этого руководства я настроил взаимодействие с Астериском, и... ничего не заработало. Ожидаемо.

Проверил ещё раз. Не заработало.

Сбрасываем всю АТС. Я не видел проблем, ибо у нас она в минимальной конфигурации - набита платами ESLC16, ну и добавилась PRI30. Ничего сложного.

Выключаем АТС. Переводим тумблер на процессорном модуле в положение инициализации, включаем. Ждём когда зелёный индикатор заморгает на корпусе АТС, ждём для верности ещё секунд 10, и переводим переключатель в режим normal.

АТС инициализируется где то 2 минуты и встаёт в работу.

Но номерной план сбит. У нас были трёхзначные номера от 100 до 212 (7 плат внутренних абонентов по 16 номеров). По умолчанию же АТС выставляет четырёхзначные 1001-1112.

Идём в 2.6.1 maitenance console и во вкладке Внутренние линии меняем 10 на 1, итд. Сохраняем и внутренние звонки пошли.

Panasonic KX-TDA600 и Asterisk. О их дружбе и недружбе Asterisk, Panasonic, Длиннопост

Далее опять обращаемся к тому же руководству из интернетов. Приведу его здесь.

1.1. Коннектимся к АТС с помощью консоли администрирования (KX-TDA Maintenance Console)

открываем пункт 1.1 (Slot).


1.2. Видим установленную плату PRI30.


1.3. Если она в режиме "INS" ("In Service" ), то переводим ее в режим "OUS", кликнув по ней правой кнопкой мыши и выбрав соответствующий пункт ("Out-of-service"). (В режиме INS Panasonic не дает править настройки платы).


1.4. Снова кликаем по ней мышкой и выбираем пункт "Port Property" ("Свойства порта").


1.5. Там выставляем Port Type (тип порта) в "QSIG-Master" (если плата в Asterisk у нас в режиме Slave.

Принципиально, чтобы на разных концах были разные значения, однако эмпирически получилось, что если ставить плату на Asterisk в Master (pri_net), то Panasonic постоянно отваливается, так что Master должен быть Panasonic).


1.6. CRC4 Mode (Режим CRC4) в "Disable". (Или enable, в зависимости от того как мы его выставили в Asterisk, опять же эмпирика показывает, что panasonic как-то криво обрабатывает этот пункт, лучше ставить в disable).


На этом настройка платы закончена, включаем плату (ПКМ - INS) и все должно заработать на уровне физики. Переходим на уровень логики.


Объединяем линии платы PRI30 в отдельную транковую группу:

2.1. открываем пункт "10.1" (CO Line Settings).

В таблице слева видим номер слота и номер порта. Справа можем задавать номер транковой группы (TRG) от 1 до 64. Выбираем любой неиспользуемый номер и присваиваем его всем 30-ти линиям платы.

Я поставил всем 2.
Panasonic KX-TDA600 и Asterisk. О их дружбе и недружбе Asterisk, Panasonic, Длиннопост

2.2. Объявляем эту транковую группу локальной (в том смысле, что не "внешней") для данной АТС. Для этого идем в пункт "9.1" (TIE Table). Думаем что бы написать в графе "Leading Number". Это такие цифры, при наборе которых АТС будет "отдавать" звонок в транковую группу, то есть нам на астериск. Тогда в Leading Number я пишу "3XX" и "4XX". В графе "Trunk Group" ("Группа внешних линий") указываем тот номер, который мы задали на предыдущем шаге, в пункте 10.1 консоли. При этом запоминаем номер строки таблицы, в который мы все это вписали (!). Это важно!

Panasonic KX-TDA600 и Asterisk. О их дружбе и недружбе Asterisk, Panasonic, Длиннопост

2.4 Идём в пункт "2.6.1Numbering Plan, Main", (План нумерации, Основное) на вкладку "Other PBX Extension" (Внутренняя линия другой УАТС), пишем первую цифру нумерации Asterisk (у меня - 3 и 4 соответственно). ВАЖНО, чтобы строка была та же, что и в пункте 9.1.

Panasonic KX-TDA600 и Asterisk. О их дружбе и недружбе Asterisk, Panasonic, Длиннопост

Добавляем настройки порта платы PRI30 для работы АОН на астериске.

Panasonic KX-TDA600 и Asterisk. О их дружбе и недружбе Asterisk, Panasonic, Длиннопост

И генерируем CLIP

Panasonic KX-TDA600 и Asterisk. О их дружбе и недружбе Asterisk, Panasonic, Длиннопост

Для меня - всё. У меня нет городских линий на АТС. Весь город я заведу на Asterisk. Мне с ним проще. Во-первых, море информации. Во вторых - дружелюбное сообщество.


Настраиваем Астериск. Начинаем с DAHDI.

/etc/dahdi/system.conf

loadzone=ru

defaultzone=ru

#span = 1,1,0,ccs,hdb3,crc4

span = 1,1,0,ccs,hdb3

# Параметры по порядку:

# 1 - Номер порта (спана) - 1 для 1-й карты

# 2 - Мастер(0) и слейв (1) - 1

# 3 - для стабилизации на длинных линиях. У нас линия короткая - 0

# 4 Fraiming

# 5 Coding

# 6 - необязательный - вкл CRC. Полезно опять же на длинных линиях. Наверное.

bchan = 1-15,17-31

dchan = 16

#alaw=1-15,17-31

Обратите внимание, тут комментарии экранируются решёткой #. В конфигах астериска  - точка с запятой (;).


/etc/asterisk/chan_dahdi.conf

[trunkgroups]


[channels]

language=ru

context=from-panas

switchtype=qsig  ;euroisdn

nationalprefix=8

overlapdial=yes

signalling=pri_cpe

rxwink=300

usecallerid=yes

cidsignalling=bell

;bell: bell202 as used in US (default)

;v23: v23 as used in the UK

;v23_jp: v23 as used in Japan

;dtmf: DTMF as used in Denmark, Sweden and Netherlands

;smdi: Use SMDI for caller ID. Requires SMDI to be enabled

;cidstart=ring ;Determine signals the start of caller ID. The options supported by Asterisk are:

;ring: A ring signals the start (default)

;polarity: Polarity reversal signals the start

;polarity_IN: Polarity reversal signals the start, DTMF dialtone detection in India

;dtmf: DTMF Caller ID spill begins only with DTMF, at various times before the ring.

;This causes Asterisk to constantly listen for DTMF CallerID signals on the specified channels

;If cidstart is configured to use dtmf, the energy level on the line may need to be

;tuned to properly identify the DTMF tones.

; This tuning is done with the dtmfcidlevel configuration option.

; The specified value is compared to the average over a packet of audio level

;of the absolute value of 16 bit signed linear samples.

; The default is set to 256, but this is completely arbitrary.

;It must be set high enough to prevent false detections, while low

;enough to ensure no dtmf spills are missed.

;hidecallerid=no

;callwaiting=yes

usecallingpres=yes

callwaitingcallerid=yes

transfer=yes

canpark=no

cancallforward=yes

callreturn=no

echocancel=no

echocancelwhenbridged=no

rxgain=0.0

txgain=0.0

group=1

callgroup=1

pickupgroup=1

immediate=no

busydetect=yes

busycount=8

channel => 1-15,17-31

/etc/asterisk/extensions.conf

[from-panas]  ; Звонки с панасоника

exten => _[34]XX,1,NoOp()

same => n, Dial(PJSIP/${EXTEN},30,tT)

same => n, Hangup()


[sip-local] ; Звонки с сипофонов и шлюзов там всяких

exten => _[34]XX, 1, NoOp()  ; Звонки с сипофонов на сипофоны

same => n, DIAL(PJSIP/${EXTEN},30,tT)

same => n, Hangup()


exten => _[12]XX, 1, NoOp()  ; Звонки с сипофонов на панасоник

same => n, Dial(Dahdi/g1/${EXTEN},,tT)

same => n, Hangup()

Ну и настраиваем авторизацию PjSIP. В этой версии астериска он основной. Можно конечно убрать, но на форумах убеждают, что несмотря на возросшую сложность конфигурирования - за ним будущее. Хз, чтож уж. Пробуем.

Настраиваем два сипофона - с номерами 301, 302 и паролями "5825".


/etc/asterisk/pjsip.conf

[udp-transport]

type = transport

protocol = udp

bind = 0.0.0.0

; ---------------------------------------300

[300]

type=endpoint

context=sip-local

disallow=all

allow=alaw

transport=udp-transport

auth=auth300

aors=300


[auth300]

type=auth

auth_type=userpass

password=5825

username=300


[300]

type=aor

max_contacts = 1


;---------------------------------------301

[301]

type=endpoint

context=sip-local

disallow=all

allow=alaw

transport=udp-transport

auth=auth301

aors=301


[auth301]

type=auth

auth_type=userpass

password=5825

username=301

[301]

type=aor

max_contacts = 1

И внезапно при запуске asterisk выясняем что кучи функций нет. Если ставим asterisk из репозиториев убунты, то том в конфигураторе модулей стоит разрешение загружать всё, за исключением пары модулей.

Здесь же, внезапно, наоборот.


Поэтому вот Вам мой файл /etc/asterisk/modules.conf Жаль, под кат нельзя убрать.

[modules]

autoload = no

; This is a minimal module load. We are loading only the modules

; required for the Asterisk features used in the "Super Awesome

; Company" configuration.

; Applications

load = app_bridgewait.so

load = app_dial.so

load = app_playback.so

load = app_stack.so

load = app_verbose.so

load = app_voicemail.so

load = app_directory.so

load = app_confbridge.so

load = app_queue.so

; Bridging

load = bridge_builtin_features.so

load = bridge_builtin_interval_features.so

load = bridge_holding.so

load = bridge_native_rtp.so

load = bridge_simple.so

load = bridge_softmix.so

; Call Detail Records

load = cdr_custom.so

; Channel Drivers

load = chan_bridge_media.so

load = chan_pjsip.so

load = chan_dahdi.so

;load = chan_sip.so

; Codecs

load = codec_gsm.so

load = codec_resample.so

load = codec_ulaw.so

load = codec_g722.so

; Formats

load = format_gsm.so

load = format_pcm.so

load = format_wav_gsm.so

load = format_wav.so

; Functions

load = func_callerid.so

load = func_cdr.so

load = func_pjsip_endpoint.so

load = func_sorcery.so

load = func_devstate.so

load = func_strings.so

; Core/PBX

load = pbx_config.so

; Resources

load = res_http_websocket.so

load = res_musiconhold.so

load = res_pjproject.so

load = res_pjsip_acl.so

load = res_pjsip_authenticator_digest.so

load = res_pjsip_caller_id.so

load = res_pjsip_dialog_info_body_generator.so

load = res_pjsip_diversion.so

load = res_pjsip_dtmf_info.so

load = res_pjsip_endpoint_identifier_anonymous.so

load = res_pjsip_endpoint_identifier_ip.so

load = res_pjsip_endpoint_identifier_user.so

load = res_pjsip_exten_state.so

load = res_pjsip_header_funcs.so

load = res_pjsip_logger.so

load = res_pjsip_messaging.so

load = res_pjsip_mwi_body_generator.so

load = res_pjsip_mwi.so

load = res_pjsip_nat.so

load = res_pjsip_notify.so

load = res_pjsip_one_touch_record_info.so

load = res_pjsip_outbound_authenticator_digest.so

load = res_pjsip_outbound_publish.so

load = res_pjsip_outbound_registration.so

load = res_pjsip_path.so

load = res_pjsip_pidf_body_generator.so

load = res_pjsip_pidf_digium_body_supplement.so

load = res_pjsip_pidf_eyebeam_body_supplement.so

load = res_pjsip_publish_asterisk.so

load = res_pjsip_pubsub.so

load = res_pjsip_refer.so

load = res_pjsip_registrar.so

load = res_pjsip_rfc3326.so

load = res_pjsip_sdp_rtp.so

load = res_pjsip_send_to_voicemail.so

load = res_pjsip_session.so

load = res_pjsip.so

load = res_pjsip_t38.so

load = res_pjsip_transport_websocket.so

load = res_pjsip_xpidf_body_generator.so

load = res_rtp_asterisk.so

load = res_sorcery_astdb.so

load = res_sorcery_config.so

load = res_sorcery_memory.so

load = res_sorcery_realtime.so

load = res_timing_timerfd.so


; Do not load res_hep and kin unless you are using HEP monitoring

; <http://sipcapture.org> in your network.


noload = res_hep.so

noload = res_hep_pjsip.so

noload = res_hep_rtcp.so


; ------------Добавляю свои


load = res_clioriginate.so

load = app_originate.so

load = app_echo

load = app_stream_echo.so


; -----------------------------------------Отладка

load = app_agent_pool.so

load = app_alarmreceiver.so

load = app_amd.so

load = app_attended_transfer.so

load = app_audiosocket.so

load = app_authenticate.so

load = app_blind_transfer.so

load = app_bridgeaddchan.so

load = app_cdr.so

load = app_celgenuserevent.so

load = app_chanisavail.so

load = app_channelredirect.so

load = app_chanspy.so

load = app_controlplayback.so

load = app_dictate.so

load = app_directed_pickup.so

load = app_dtmfstore.so

load = app_dumpchan.so

load = app_exec.so

load = app_externalivr.so

load = app_festival.so

load = app_flash.so

load = app_followme.so

load = app_forkcdr.so

load = app_jack.so

load = app_mf.so

load = app_milliwatt.so

load = app_minivm.so

load = app_mixmonitor.so

load = app_morsecode.so

load = app_mp3.so

load = app_page.so

load = app_playtones.so

load = app_privacy.so

load = app_read.so

load = app_readexten.so

load = app_record.so

load = app_reload.so

load = app_sayunixtime.so

load = app_senddtmf.so

load = app_sendtext.so

load = app_sf.so

load = app_sms.so

load = app_softhangup.so

load = app_speech_utils.so

load = app_stasis.so

load = app_system.so

load = app_talkdetect.so

load = app_test.so

load = app_transfer.so

load = app_userevent.so

load = app_waitforcond.so

load = app_waitforring.so

load = app_waitforsilence.so

load = app_waituntil.so

load = app_while.so

load = chan_audiosocket.so
load = chan_rtp.so
load = codec_adpcm.so

load = codec_alaw.so

load = codec_dahdi.so

load = codec_g726.so

load = codec_ilbc.so

load = codec_lpc10.so

load = codec_speex.so

load = format_g719.so

load = format_g723.so

load = format_g726.so

load = format_g729.so

load = format_h263.so

load = format_h264.so

load = format_ilbc.so

load = format_mp3.so

load = func_blacklist.so

load = func_callcompletion.so

load = func_channel.so

load = func_config.so

load = func_cut.so
load = func_dialgroup.so

load = func_dialplan.so

load = func_enum.so

load = func_env.so

load = func_evalexten.so

load = func_extstate.so

load = func_frame_drop.so

load = func_frame_trace.so

load = func_global.so

load = func_groupcount.so

load = func_hangupcause.so

load = func_holdintercept.so

load = func_iconv.so

load = func_jitterbuffer.so

load = func_json.so

load = func_lock.so

load = func_logic.so

load = func_math.so

load = func_module.so
load = func_periodic_hook.so

load = func_pitchshift.so

load = func_pjsip_aor.so

load = func_pjsip_contact.so

load = func_presencestate.so

load = func_rand.so

load = func_realtime.so

load = func_sayfiles.so

load = func_scramble.so

load = func_shell.so
load = func_sprintf.so

load = func_srv.so

load = func_sysinfo.so

load = func_talkdetect.so

load = func_timeout.so

load = func_uri.so

load = func_version.so

load = func_vmcount.so

load = func_volume.so

load = pbx_ael.so

load = pbx_loopback.so
load = pbx_realtime.so

load = pbx_spool.so


load = res_aeap.so

load = res_ael_share.so

load = res_audiosocket.so

load = res_clialiases.so

load = res_convert.so

load = res_fax.so load = res_fax_spandsp.so

load = res_format_attr_celt.so

load = res_format_attr_g729.so

load = res_format_attr_h263.so

load = res_format_attr_h264.so

load = res_format_attr_ilbc.so

load = res_http_post.so

load = res_limit.so

load = res_manager_devicestate.so

load = res_manager_presencestate.so

load = res_mutestream.so

load = res_mwi_devstate.so

load = res_parking.so

load = res_phoneprov.so

load = res_pjsip_config_wizard.so

load = res_pjsip_dlg_options.so

load = res_pjsip_empty_info.so

load = res_pjsip_history.so

load = res_pjsip_sips_contact.so

load = res_realtime.so

load = res_resolver_unbound.so

load = res_rtp_multicast.so

load = res_security_log.so

load = res_smdi.so

load = res_snmp.so

load = res_sorcery_memory_cache.so

load = res_speech.so

load = res_speech_aeap.so

load = res_srtp.so

load = res_stasis.so

load = res_stasis_answer.so

load = res_stasis_device_state.so

load = res_stasis_playback.so

load = res_stasis_recording.so

load = res_stasis_snoop.so

load = res_statsd.so

load = res_stun_monitor.so

load = res_timing_dahdi.so

load = res_timing_pthread.so

load = res_tonedetect.so

Ваш набор модулей может быть меньше или больше. Я повыкидывал то, что мне точно не пригодится.


Вот и всё. Теперь будем канючить деньги на 24-портовый голосовой шлюз, что бы подключить удалённый офис. :)


Надеюсь мой опус поможет кому то не плясать по грабелькам.


Попозже может опишу, как я ставил VirtualBox на Ubuntu Server в консоли и настраивал проброс USB в гостевую систему из консоли. Это я делал для того, что бы подключить панасоник к компу с астериск, на комп поставить virtualBox, поставить на виртуалку W2K, и на W2K поставить maitenance console и настраивать панасоника не выходя из кабинета. Ибо заманался я бегать в другой корпус с ноутом, подстраивать мелочи всякие на панасе.

Меня приятно поразили консольные возможности VirtualBox'а.


Кстати, никто не знает, что за ошибка выскакивает на 2.10 - настройка АОН внутренних абонентов?

Panasonic KX-TDA600 и Asterisk. О их дружбе и недружбе Asterisk, Panasonic, Длиннопост
Показать полностью 8
38

Администратор Linux. Виртуализация и кластеризация. Часть 4 из 5 (2020)

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

Вы сможете строить системы с использованием современных популярных сервисов на базе Linux и разберетесь в каких проектах применяются те или иные сервисы.

Курс подойдет для администраторов Linux и DevOps


ссылка на скачивание

третья часть

наш телеграмм канал

PS: мы залили все части в тг

так же там могут быть материалы которые ещё не вышли на пикабу или не выйдут вовсе

41

Администратор Linux. Виртуализация и кластеризация. Часть 3 из 5 (2020)

Администратор Linux. Виртуализация и кластеризация. Часть 3 из 5 (2020) Linux, IT, Программирование, Программист, Сервер, Администрирование, Информационная безопасность, Онлайн-курсы

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

Вы сможете строить системы с использованием современных популярных сервисов на базе Linux и разберетесь в каких проектах применяются те или иные сервисы.

Курс подойдет для администраторов Linux и DevOps


ссылка на скачивание

вторая часть

наш телеграмм канал
PS: мы залили все части в тг
так же там могут быть материалы которые ещё не вышли на пикабу

приятного изучения материалов !
Показать полностью
130

Компьютерный мастер. Часть 231. Почему 99% пользователей не нужен VPN???

Я в последние полгода дико устал от вопросов клиентов, а какой vpn поставить

А правильный ответ никакой:

- Все приличные VPN давно заблокировали

- Часть известных то работает, то не работает

- Те что работают низкая скорость или ограничение 500MB в день, премиум подписку не оплатить

- Неизвестные VPN могут собирать ваши пароли

Но если очень, хочется я вам напишу в конце статьи один проверенный VPN.

Но на самом деле 99% пользователей VPN не нужен им достаточно PROXY

Компьютерный мастер. Часть 231. Почему 99% пользователей не нужен VPN??? Интернет, Блокировка, VPN, Прокси, Свобода

Главные плюсы прокси(PROXY):

1) Он работает на уровне приложения, а не сети.

2) Прокси не видит ваш трафик, не может собирать пароли, а просто перенаправляет запросы

3) Прокси не шифрует трафик, а значит через него скорость работы максимальна

4) Прокси избирателен, он открывает через себя только заблокированные сайты, а VPN гонит весь трафик...

Я в последние несколько месяцев сижу на Censor Tracker, он  полностью бесплатен,  его код открытый, ставится прямо в браузер и пока не было ни одного сайта, что через него бы не открылся...


КТО ТОТ САМЫЙ 1% КОТОРОМУ НУЖЕН VPN?

1) Вы желаете, скрыть ваш трафик от провайдера

2) Вам необходимо менять страну, чтобы сайт вас видел как будто вы не из России.

3) Вы готовы смирится с рисками

4) Вас не напрягает  постоянно включать и отключать vpn(например чтобы воспользоваться банкингом)


Из хорошо работающих сейчас бесплатных VPN - я пользуюсь LANTERN, вроде как их финансирует госдеп США, а значит данные России сливать не будет, и будет сопротивляться блокировкам.

Он бесплатный,  скорость средняя, ограничений по трафику нет, есть приложение как для windows 10\11, так и для телефона.

Есть пара минусов: не работает на телефоне с adguard или если у вас в андроиде для блокировки рекламы стоит частный DNS dns.adguard.com...

На компе висит в автозапуске, я когда первый раз поставил дня три в игру войти не мог, думал сервера висят, а потом оказалось это просто VPN сам стартует.

Показать полностью 1
26

Ansible. Network-scripts. RHEL8

Ansible. Network-scripts. RHEL8 Разработка, Программирование, IT, Perl, Linux, Shell, Командная оболочка bash

Приветствую!


Практически завершил работу над ansible-хелпером "conf_int_ipv4_via_network_scripts" (репозиторий "ansible_helpers"), но "практически" означает, что совокупность скриптов и сценариев уже можно использовать в работе.


Краткая инструкция.

1. Клонируем репозиторий - git clone "https://github.com/vladimir-chursin000/ansible_helpers".

2. Переходим в директорию ".../ansible_helpers/conf_int_ipv4_via_network_scripts/rhel8_based".

3. Заполняем inventory-файл "conf_network_scripts_hosts" (не забываем про ssh-ключи на удалённых хостах).

4. Заполняем основной файл конфигурации "config" (такой вот незамысловатый нейминг). Каждая линия - настройка конкретного сетевого интерфейса на конкретном хосте. Присутствует файл со всеми возможными примерами конфигурации - "config_examples".

5. Правим дополнительные файлы конфигурации, расположенные в директории "additional_configs":

а) dns_settings (настройки DNS). По умолчанию содержит только доменные сервера Google (8.8.8.8, 8.8.4.4) в качестве общих NS (nameservers/сервера имён) для всех хостов из inventory-файла. Также присутствует возможность для отдельных хостов выставить уникальные сервера имён;

б) config_del_not_configured_ifcfg. Файл конфигурации, определяющий действия в отношении сетевых интерфейсов, отсутствующих в основном файле конфигурации (который "config"). Для inventory-хостов, вписанных в этот конфиг, действует правило - отключать сетевые интерфейсы (и удалять соответствующие ifcfg-файлы), не сконфигурированные в файле "config".

6. Запускаем скрипт "install_network_scripts_and_configure_network.sh" (если "network-scripts" не установлен) или "apply_immediately_ifcfg.sh".


Что произойдёт после запуска (если опустить часть с установкой "network-scripts"), если кратко:

1. Бэкап ifcfg-файлов с сохранением в директорию (и поддиректории) ".../playbooks/ifcfg_backup_from_remote": "history" - для хранения, "now" - для дальнейшего сравнения с ifcfg-файлами, генерация которых (на основе config-а) произойдёт на следующем этапе.

2. Запуск perl-скрипта "generate_dynamic_ifcfg.pl", которые создаёт:

а) ifcfg-файлы для каждого inventory-хоста (на основе основного конфига). Размещаются в ".../playbooks/dyn_ifcfg_playbooks/dyn_ifcfg";

б) файлы resolv-conf (на основе "dns_settings"). Директория ".../playbooks/dyn_ifcfg_playbooks/dyn_resolv_conf";

в) task-файл для каждого inventory-хоста, содержащий ansible-инструкции для реконфигурации сети (директория ".../playbooks/dyn_ifcfg_playbooks"). Важный момент - если сгенерированные ifcfg-файлы не отличаются от текущих (скопированных на первом этапе исполнения), то task-файл будет содержать только ansible-код для взаимодействия с "resolv.conf".

3. Исполнение сформированных task-файлов.


P.S. №1. Осталась самая малость - реализовать механизм временного применения сетевых настроек (о чём писал ранее).


P.S. №2. Надеюсь, кому-то результат моих изысканий поможет сэкономить время.

Показать полностью
43

It-православие

Если бог нематериален и действительно существует в качестве некой вычислительной системы, а молитвы - своеобразные запросы, то можно ли утверждать, что священники - хакеры, которые дудосят систему?

11

Загрузка файлов на USB флешки

Не помог гугл, может быть вы поможете) Есть задача загружать один и тот же файл на пустые флэш накопители. Как реализовать автоматическую загрузку файла на флешку при подключении её к юсб входу?

Отличная работа, все прочитано!