LINUX.ORG.RU

Сообщения john13

 

Linux Advanced Routing и сервера

Добрый день!

  1. есть интернет шлюз настроенный на openwrt.
  2. есть 2 провайдера.
  3. есть две локальные подсети

необходимо:

  1. что бы шлюз был доступен через каждого провайдера (на шлюзе ssh, dns)
  2. сервера расположенные в разных подсетях имели доступ друг к другу
  3. что бы ко всем серверам можно было подключиться со всех белых адресов шлюза
  4. что бы разные локальные сети выходили в интернет через разные каналы связи.

первую и четвертую задачу я решил:

[code]

#!/bin/sh

IF1=eth4 # внешний интерфейс провайдера № 1 prov_1

IF2=eth5 # внешний интерфейс провайдера № 2 prov_2

IF_LOCAL0=eth0

IF_LOCAL1=eth1

IP1=192.168.0.2 # внешний IP-адрес, который нам выдал провайдер №1 prov_1

IP2=192.168.10.2 # внешний IP-адрес, который нам выдал провайдер №2 prov_2

P1=192.168.0.1 #шлюз по умолчанию провайдера №1

P2=192.168.10.1 #шлюз по умолчанию провайдера №2

P1_NET=192.168.0.0/24 #подсеть провайдера prov_1

P2_NET=192.168.10.0/24 #подсеть провайдера prov_2

#SRV1=192.168.77.0/24 # блок ip адресов для серверов №1 for prov_1

#SRV2=192.168.88.0/24 # блок ip адресов для серверов №2 for prov_2

ip route add $P1_NET dev $IF1 src $IP1 table prov_1

ip route add $P2_NET dev $IF2 src $IP2 table prov_2

ip route add default via $P1 table prov_1 #шлюз по умолчанию для таблицы T1

ip route add default via $P2 table prov_2 #шлюз по умолчанию для таблицы T2

ip rule add from $IP1 table prov_1

ip rule add from $IP2 table prov_2

ip route add 127.0.0.0/8 dev lo table prov_1

ip route add 127.0.0.0/8 dev lo table prov_2

ip rule add iif $IF_LOCAL0 table prov_2 # с интерфейса IF_LOCAL0 уходит через prov_2

ip rule add iif IF_LOCAL1 table prov_1 # с интерфейса IF_LOCAL1 уходит через prov_1

[/code]

как реализовать доступ к серверам со всех провайдеров?

 

john13
()

mojolicious perl

Добрый день, решил переписать старые проекты на mojolicious (для расширения кругозора). Возникли вопросы. Прошу помочь разобраться. Для соединения с БД использую старый, добрый DBI. С CGI при невозможности установить соединения с БД я использовал die:

$dbh = DBI->connect($data_source, $username, $auth, \%attr) || die $dbh->errstr;
В mojolicious использовать die нельзя, рекомендуется использовать croak из модуля Carp.
$dbh = DBI->connect($data_source, $username, $auth, \%attr) || croak($dbh->errstr);
но тогда возникает ошибка в случае невозможности подключиться
at /lib/proba/lib.pm line 22.
как раз croak

 

john13
()

perl dbi

Добрый день. столкнулся с неожиданной проблемой. при создании коннекта с базой. пример, делаю:

use DBI;
use utf8;
$dbh = DBI->connect($data_source, $username, $password,
          {'pg_enable_utf8' => 1,'pg_utf8_flag' => 1}) or die $DBI::errstr;                                                                                                          
указываю заведомо не правильны логин или пароль и получаю ошибку:
ВАЖНО:  пользователь "user" не прошёл проверку подлинности (по паролю)
ВАЖНО:  пользователь
приходиться делать так, что бы сообщение стало читабельно:
) || die (Encode::decode("UTF-8", DBI->errstr));
как исправить данную проблему?

 

john13
()

Mojolicious

Доброго времени суток! Решил изучить веб-фреймворк Mojolicious. Почитал документацию, все понравилось. поставил на компьютер решил по экспериментировать и перенести один не большой проект написанный на perl cgi. Подключил плагин CGI, скрипт заработал. Но никак не могу понять как добавить папку со статическими файлами (css, jquery). в логах следующие записи:

[debug] GET "/test/jquery/jquery-ui.theme.min.css" (70b9d359)
[debug] Routing to a callback
[debug] [CGI:index_new.pl:7785] START /test/test2/web/index.pl
[debug] GET "/test/jquery/jquery-ui.structure.min.css" (1b081ef3)
[debug] Routing to a callback
[debug] [CGI:index_new.pl:7786] START /test/test2/web/index.pl
        (in cleanup) Transaction already destroyed at /usr/local/share/perl/5.24.1/Mojolicious/Plugin/CGI.pm line 173.

само приложение выглядит так:

#!/usr/bin/env perl
use Mojolicious::Lite;
use Mojolicious::Static;

my $static = Mojolicious::Static->new;
push @{$static->paths}, '/test/test2/web/css';
push @{$static->paths}, '/test/test2/web/jquery';
#get '/' => sub {
#  my $c = shift;
#  $c->render(template => 'index');
#};



plugin CGI => {
  # Specify the script and mount point
  script => "/test/test2/web/index.pl",
  route  => "/test",

  # %ENV variables visible from inside the CGI script
  env => {}, # default is \%ENV

};

app->start;
__DATA__

@@ index.html.ep
% layout 'default';
% title 'Welcome';
<h1>Welcome to the Mojolicious real-time web framework!</h1>

@@ layouts/default.html.ep
<!DOCTYPE html>
<html>
  <head><title><%= title %></title></head>
  <body><%= content %></body>
</html>

 

john13
()

xenserver добавление жесткого диска

Прошу помощи разобраться. есть сервер под виртуалку (Xenserver 7.0), в нем стоят два жестких диска. решил добавть третить. но перепутал сата порты. в итоге второй жесткий диск который бул установлен в системе стал третий. а третий(новый) я не могу добавить в систему. начал разбираться, в чем проблема и выяснил, что :

xe pbd-list
         device-config (MRO): device: /dev/sdb
то есть тот жесткий диск который был вторым (/dev/sdb), стал третим, но в системе он числится как второй. можно ли как то жеские диски добавлять не по имени устройству а по id. и как в системе изменить адрес сущестующего хранилища? P.S. было: sata_0 - система (/dev/sda) sata_1 - пусто sata_2 - хдд 1тб (/dev/sdb) стало sata_0 - система (/dev/sda) sata_1 - хдд 2тб (/dev/sdb) - новый, который пытаюсь подключить sata_2 - хдд 1тб (/dev/sdc) - старый, на котором образы вм

 

john13
()

perl и cgi

Добрый день! Есть не большой web проект написаный на perl. Достался мне по наследству, переодически добавляю в него функционал. Проект использует CGI. Насколько я понял, cgi объевлен устаревшим и исключен из состава перла (5.20). В модуле CGI на cpan.org тоже написано что библиотека является устаревшей и теперь будут исправляться только критические уязвимости. Хочется зарание подготовится к моменту когда perl версии 5.20 и выше массово будет во всех дистрибутивах. Дайте совет на что следует перевести свой проект. гугл советует использовать или mod_perl2 или FCGI. на сервере стоит Apache 2.4

 

john13
()

RSS подписка на новые темы