LINUX.ORG.RU

Сообщения rumos

 

и снова iconv

Всем доброго времени суток! Всех с праздником! :)

Возник вопрос по использованию iconv. Стоит задача конвертнуться из utf8 в latin1( iso-8859-1 ), но при этом - что возможно - конвертировать, что нельзя - оставить как есть ( т.е. не полная конвертация - например Ü - конвертируем в одно-байтный символ, т.к. есть аналог в latin1; а вот 儒 - оставляем в виде утфных 2 байтов ).

К моему сожалению кроме iconv/recode в голову ничего не приходит. У обеих одна и та же болезнь -c( //TRANSLIT ) / -f( -d ) - и нет проблем - они заменят иероглифы на вопросики. Если же убрать ключ -c / -f - он вылетит с ошибкой и не произведёт конвертацию..

А хочется как говорится и рыбку съесть и на дерево залезть.

Спасибо за ваше время и внимание! Хорошего всем вечера!

 

rumos
()

bash PS1

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

Возникла странная задача ( идея ). На 6-ом centos установлено некое древнее ПО писанное китайско-индийскими разработчиками. Аналогов нет и оно скомпиленное. Исходников тоже.

В свой системе логирования по лени природной они использовали PS1 вместо того чтобы сделать правильно..

Поменял я немного PS1 на сей виртуалке, дабы различать по цветам себя ( рут, не рут, где я, и вообще на какой машине ). Естественно цветовые эскейп-последовательности в логах выглядят не красиво.. И началась война, между разработчиками ( у которых глазки устают ) и тестерами ( у которых глазки от смотрения кривых логов устают ещё больше ). А по-скольку это всё вообще в одном лице - внимательный читатель понимает в какую депрессию впал автор..

И задался я вопросом - есть ли какой-то короткий путь попросить bash использовать не PS1, а например какой-нибудь PS5 ( на всякий случай сделаем PS255 )) ).

Заранее спасибо всем ответившим.

 ,

rumos
()

encrypted fs over sshfs

Всем доброго дня.

Возникла следующая потребность: Есть некое удалённое хранилище ( подключаем по sshfs, не локальная сеть ). Хочется организовать прозрачное шифрование в этом хранилище - т.е. когда мы туда что-то копируем - оно шифруется на лету до записи, когда читаем - наоборот дешифруется. Хотелось бы именно поддержку обычных ф-ций чтения записи ( т.е. приложению не надо знать что это зашифрованный сетевой диск, ему даже пароль бы знать не надо ). Как-то смотрю в сторону encfs, но может кто посоветует что другое ? весь зоопарк в Centos 6..7

Заранее спасибо всем откликнувшимся.

 , , ,

rumos
()

nginx + оптимальная конфигурация для раздачи статики

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

Итак вводная - нужно раздавать статику. centos 6.9 final, 4 ядра, какой-то объём свободной памяти. сборка nginx-а.

nginx version: nginx/1.13.8
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC)
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fPIC' --with-ld-opt='-Wl,-z,relro -Wl,-z,now -pie'
Конфиг ресурса:
proxy_cache_path /dev/shm/nginx levels=1:2 keys_zone=static_cache:320m inactive=320m max_size=500M;
proxy_cache_min_uses 1;

server {
        listen 80;
        server_name static.host.com;;

        location / {
                proxy_cache static_cache;
                proxy_cache_valid 200 1y;
                proxy_set_header Host nocache.static.host.com;
                proxy_pass http://127.0.0.1;
                access_log off;
        }
}

server {
        listen 80;
        server_name nocache.static.host.com;

        location / {
                allow 127.0.0.1;
                deny all;
                root /home/user/sites/static.host.com/htdocs;
                access_log off;
                error_log /dev/null crit;
        }
}
Конфиг головы:
worker_processes 4;
events {
        use epoll;
        worker_connections 4096;
        multi_accept on;
}
http {
...
        sendfile            on;
        sendfile_max_chunk 512k;
        tcp_nopush          on;
        tcp_nodelay         on;
        keepalive_timeout   65;
        types_hash_max_size 2048;
        open_file_cache max=200000 inactive=20s;
        open_file_cache_valid 30s;
        keepalive_requests 100;
        reset_timedout_connection on;
        client_body_timeout 10;
        send_timeout 2;
...
}
Сам характер статики таков - около трети файлов около 2Кб, около 50% в районе 500Кб но меньше 512; остаток около 1Мб.

/dev/shm - это диск в памяти. Я рассуждаю так - фронт при получении запроса обращается либо в свой кеш, либо к бэкэнду; Канал на выдачу гарантированные 300Мбит/с; канал откуда ведётся тест - порядка 100Мбит/с, свободен при тесте ( 50 параллельных запросов ); но почему-то при тестовом заборе файлика размером 250Кб - я получаю максимальную скорость его отдачи около 1с, хотя ожидаю что-то не более чем 0.1с. Статику будут забирать в 20-30 параллельных коннектов, клиентов может прийти больше одного, сейчас меня это немного пугает ( клиент это unity-приложение ). Проблемой занялся, т.к. у разработчиков unity-приложения прогрузилась лишь половина изображений при тестовом пуске, кивают на меня.

 , ,

rumos
()

centos network collision errors

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

Старая физическая машинка под управлением CentOS release 5.11 (Final). Ядро - Linux xxxxxxxx.ru 2.6.18-308.24.1.el5 #1 SMP Tue Dec 4 17:43:34 EST 2012 x86_64 x86_64 x86_64 GNU/Linux

Необычайно высокие показатели network-errors и network-collisions. http://joxi.ru/Dr8o5LQIkQe8YA - графики мунина

ifconfig -a по этому интерфейсу.

eth0      Link encap:Ethernet  HWaddr 00:15:17:A9:72:60
          inet addr:XX.XX.XX.125  Bcast:XX.XX.XX.255  Mask:255.255.254.0
          inet6 addr: yyyy::yyy:yyyy:yyyy:yyyy/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:506446272 errors:0 dropped:30490 overruns:0 frame:0
          TX packets:371753415 errors:45398644 dropped:0 overruns:0 carrier:45398644
          collisions:80114079 txqueuelen:1000
          RX bytes:209708780225 (195.3 GiB)  TX bytes:386363131919 (359.8 GiB)
          Interrupt:90 Memory:b8820000-b8840000

iptables остановлен, selinux тоже. ( в это пожалуйста пинать не нужно - мне её только недавно передали, возможности включить именно сейчас нету - чуть позже включу ).

Вариант типа обновить всё что только можно ( ядро и всё что связано с сетью ) как раз сейчас рассматривается, но вопрос - как понять откуда лезут эти конфликты, и где ещё может быть ошибка

полностью всё выглядит примерно вот так

/etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
BOOTPROTO=static
HWADDR=00:15:17:A9:72:60
IPADDR=xx.xx.Y1.125
NETMASK=255.255.254.0
GATEWAY=xx.xx.Y1.1
ONBOOT=yes

/etc/sysconfig/network-scripts/ifcfg-eth0:0

DEVICE=eth0:0
BOOTPROTO=static
HWADDR=00:15:17:A9:72:60
IPADDR=xx.xx.Y0.125
NETMASK=255.255.254.0
ONBOOT=yes

 ,

rumos
()

VPN через pptpd

Здравствуй, уважаемый all.

Есть удалённый сервер по адресу x.x.x.x(eth1 смотрит в интернет), мы с друзьями хотим поверх него организовать «локалку». Для чего был поставлен pptpd и выполнены следующие настройки: /etc/pptpd.conf

#ppp /usr/sbin/pppd
option /etc/ppp/options.pptpd
#debug
#stimeout 10
#noipparam
logwtmp
#vrf test
#bcrelay eth1
#delegate
connections 20
localip 192.168.100.1
remoteip 192.168.100.101-120
/etc/ppp/options.pptpd
name pptpd

refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128


#-chap
#-chapms
#+chapms-v2
#mppe-40	# enable either 40-bit or 128-bit, not both
#mppe-128
#mppe-stateless

ms-dns 8.8.8.8
ms-dns 8.8.4.4
ms-wins 192.168.100.1
proxyarp
#nodefaultroute
#debug
#dump
lock
nobsdcomp 
novj
novjccomp
nologfd
iptables-save
# Generated by iptables-save v1.4.7 on Tue Jan  5 16:56:01 2016
*nat
:PREROUTING ACCEPT [3081:315776]
:POSTROUTING ACCEPT [204:12240]
:OUTPUT ACCEPT [589:35071]
-A POSTROUTING -s 192.168.100.0/24 -o eth1 -j MASQUERADE 
-A POSTROUTING -o eth1 -j MASQUERADE 
-A POSTROUTING -o ppp+ -j MASQUERADE 
COMMIT
# Completed on Tue Jan  5 16:56:01 2016
# Generated by iptables-save v1.4.7 on Tue Jan  5 16:56:01 2016
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [19167:17355297]
-A INPUT -p tcp -m state --state NEW -m tcp --dport 1723 -j ACCEPT 
-A INPUT -p gre -j ACCEPT 
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A INPUT -p icmp -j ACCEPT 
-A INPUT -i lo -j ACCEPT 
-A INPUT -s 127.0.0.1/32 -p tcp -m state --state NEW -m tcp -m multiport --dports 11222 -j ACCEPT 
-A INPUT -s z.z.z.z/32 -p tcp -m state --state NEW -m tcp -m multiport --dports 20,21,22 -j ACCEPT 
-A INPUT -s zz.zz.zz.zz/32 -p tcp -m state --state NEW -m tcp -m multiport --dports 3306,11222 -j ACCEPT 
-A INPUT -p tcp -m state --state NEW -m tcp -m multiport --dports 80,1080,8999,9099,10011 -j ACCEPT 
-A INPUT -p tcp -m state --state NEW -m tcp -m multiport --dports 9000:9010 -j ACCEPT 
-A INPUT -s 192.168.100.0/24 -i ppp+ -j ACCEPT 
-A INPUT -j DROP 
-A FORWARD -d 192.168.100.0/24 -i eth1 -j ACCEPT 
-A FORWARD -s 192.168.100.0/24 -o eth1 -j ACCEPT 
-A FORWARD -i ppp+ -j ACCEPT 
-A FORWARD -j REJECT --reject-with icmp-host-prohibited 
COMMIT
# Completed on Tue Jan  5 16:56:01 2016
Результат - виндовые-vpn-клиенты прекрасно коннектятся, видят 192.168.100.1 и внешку(на сервере появляются ppp0, ppp1, ...), но друг друга не пингуют; vpn-клиенты находятся в разных интернетах.

Подскажите что я не учёл ? *при отключённом iptables ситуация не меняется кардинальным образом ( ну точнее за счёт отсутствия форварда у клиентов отсутствует интернет ). пробовал прописывать маршрут на вин-машинах -

route add 192.168.100.0 mask 255.255.255.0 192.168.100.1
- также не помогает. net.ipv4.ip_forward включён.

p.s. ip-адреса выдаются статически через /etc/ppp/chap-secrets

Заранее огромное спасибо!

 

rumos
()

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