Покажи Публикации - synner
* Виж публикациите на потр. | Виж темите на потр. | Виж прикачените файлове на потр
Страници: [1] 2
1  Linux секция за начинаещи / Настройка на програми / Re: Postfix SMTP Relay - sender_canonical_maps -: May 06, 2018, 14:59
RegEx процесора на Postfix е някакъв бъгав/странен. Явно недолюбва сложните regex.
С милион тестове and back to basics, постепенно усложнявах regex, докато накрая не стана с:

Цитат
root@mailsrv:/etc/postfix # cat canonical_maps_sender
if !/.+?@myinetdomain\.com/i
/(.+?)@(.+)/i           ${1}\.${2}@myinetdomain\.com
endif
Ще направя още малко тестове и вероятно ще затворя темата!
Благодаря на отзовалите се!
2  Linux секция за начинаещи / Настройка на програми / Re: Postfix SMTP Relay - sender_canonical_maps -: May 05, 2018, 20:14
Привет, Naka

Сам съм си го писал и според разни тестери ми хваща правилно mail адресите, със или без триъгълни скоби. Може и проблемът да е в това как Postfix обработва SMTP envelopes. Именно за това пиша във форума, Postfix conf ми е слаб. Надявам се да попадна на Postfix guru.

"?" са именно за да направя match-ването non-greedy, демек lazy, за да не ми изяжда юзъра и домейна около "@".
3  Linux секция за начинаещи / Настройка на програми / Re: Postfix SMTP Relay - sender_canonical_maps -: May 05, 2018, 19:16
Наистина нещо може да не ми е наред с regex-а защото към external SMTP на ISP летят пакет със следния envelope:
Цитат
MAIL FROM:<.lab.local@myexternaldomain.com>
4  Linux секция за начинаещи / Настройка на програми / Re: Postfix SMTP Relay - sender_canonical_maps -: May 05, 2018, 19:10
Привет, remotexx

По точка 1):
Ок, прав си, некоректно написах заданието. Използвах триъгълните скоби като placeholders, но в SMTP те си имат специално значение.
С tcpdump виждам, че SMTP envelope-а ми буквално изглежда така:
Код:
MAIL FROM:<appsrv1@lab.local>

А след DATA командата мейл клиента може да блъска в header-а каквото иска и никой mail server по пътя не би се заял (в общия случай).
Валидно формати могат да са:И вероятно и други.
В моя случай тези header-и след DATA командата не ги пипаме.

По точка 2):
Както изглежда SMTP envelope-а ми горе с tcpdump, мисля че regex-а ми е верен?

По точка 3):
Звучи супер, но би ли го написал с Postfix conf директиви? :)
5  Linux секция за начинаещи / Настройка на програми / Postfix SMTP Relay - sender_canonical_maps -: May 05, 2018, 01:54
Здравейте, Колеги

Имам няколко тестови сървъра във вътрешна 10.0.0.0/24 мрежа.
На gateway-я съм си вдигнал Postfix за да мога да пращам мейли навън като си имам външен SMTP сървър, към който да пращам пощата.

На всеки сървър има всякакви тестови приложения, които пращат разни нотификации и репорти по мейла.
Всеки си е set-нал някакъв (полу-)random sender mail address, като повечето са във формата на: <app>@lab.local, но може и да е всичко друго.

Въпросът ми е как да конфигурирам Postfix (предполагам със sender_canonical_maps) да прави следния rewrite в SMTP envelope-а?

<app>@<randomlocal.domain> към <app>.<randomlocal.domain>@mylegitinternetdomain.com

Recipient-ите в SMTP envelope-а и header-а не трябва да се применят.

Докарал съм го до тук:
/etc/postfix/main.cf
Код:
smtpd_banner = $myhostname ESMTP $mail_name ($mail_version)
smtpd_helo_required = yes

inet_interfaces = 127.0.0.1, 10.0.0.1
inet_protocols = ipv4

relayhost = [i][smtp.myisp.com][/i]

myhostname = mail.lab.local
mydomain = lab.local

myorigin = $mydomain
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

mynetworks_style = subnet
mynetworks = 127.0.0.0/8, 10.0.0.0/24

append_at_myorigin = no
append_dot_mydomain = no

local_header_rewrite_clients = permit_inet_interfaces, permit_mynetworks, reject
remote_header_rewrite_domain = domain.invalid

masquerade_domains = $mydomain

sender_canonical_classes = envelope_sender
sender_canonical_maps = regexp:/etc/postfix/canonical_maps_sender

/etc/postfix/canonical_maps_sender
Код:
if !/@mylegitinternetdomain\.com/i
/^.*?([^\s<]+?)@([^\s>]+?)>?\s*$/i      ${1}.${2}@mylegitinternetdomain.com
endif

Но regex-а нещо не ми се получава и в Inbox-а си от ISP-то получавам мейлите като от: "lab.local"@mylegitinternetdomain.com

Моля за помощ!
Благодаря предварително!
6  Linux секция за начинаещи / Настройка на програми / Re: Запазване на environment variable при sudo su - -: Sep 28, 2017, 15:12
ddantgwyn, ако изпълня само 'sudo su' тогава се запазва променливата KEYHOLDER.
Обаче при 'sudo su' се зарежда само .bashrc, а при 'sudo su -' се зарежда всичко /etc/profile, .profile and .bashrc, което е за предпочитане...
Source @ AskUbuntu

Има ли как да стане с тирето?

P.S. Дистрибуциина, на които го тествам това са Ubuntu 16.04.2 LTS и Debian 8.8 (Jessie).
7  Linux секция за начинаещи / Настройка на програми / Запазване на environment variable при sudo su - -: Sep 28, 2017, 14:29
Здравейте, банда.

User 'jeko' се логва през SSH на даден сървър. В неговия environment има set-ната променлива KEYHOLDER=jeko.
jeko изпълнява 'sudo su -' и става root, но KEYHOLDER вече не е дефинирана/празна.
Как да запазя KEYHOLDER при изпълнение на 'sudo su -'?

В /etc/sudoers вече имам:
Цитат
Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
Defaults        env_keep += "KEYHOLDER"

...

jeko ALL=NOPASSWD:ALL

Пробвах различни варианти намерени в Google/unix.stackexchange.com, но нищо не ми сработва...?
Help?!? :'(
8  Linux секция за напреднали / Хардуерни и софтуерни проблеми / Re: Q: Настройка на iptables + iproute2, маршрутизация чрез маркиране. -: Oct 21, 2016, 19:01
Темата е за затваряне!
Благодаря сърдечно за съветите и напътствията! :)
9  Linux секция за напреднали / Хардуерни и софтуерни проблеми / Re: Q: Настройка на iptables + iproute2, маршрутизация чрез маркиране. -: Oct 09, 2016, 14:50
Код
GeSHi (Bash):
  1. root@debian ~ # lsb_release -a
  2. No LSB modules are available.
  3. Distributor ID: Debian
  4. Description:    Debian GNU/Linux 8.6 (jessie)
  5. Release:        8.6
  6. Codename:       jessie
10  Linux секция за напреднали / Хардуерни и софтуерни проблеми / Re: Q: Настройка на iptables + iproute2, маршрутизация чрез маркиране. -: Oct 09, 2016, 01:27
А как да направя така, че тази конфигурация да запазва след reboot?
11  Linux секция за напреднали / Хардуерни и софтуерни проблеми / Re: Q: Настройка на iptables + iproute2, маршрутизация чрез маркиране. -: Oct 08, 2016, 12:08
Благодаря, Брада

Взе че проработи с:
Код
GeSHi (Bash):
  1. root@debian ~ # echo 250 rt_tunnel0 >> /etc/iproute2/rt_tables
  2. root@debian ~ # ip route add default via 192.168.254.1 dev tunnel0 src 192.168.254.2 table rt_tunnel0
  3. root@debian ~ # ip route add 192.168.254.0/30 dev tunnel0 src 192.168.254.2 table rt_tunnel0
  4. root@debian ~ # ip rule add iif tunnel0 table rt_tunnel0
  5. root@debian ~ # ip rule add from 192.168.254.2 table rt_tunnel0
И добавих един iptables SNAT на сървър A за пакетите, които се връщат от сървър B.
Сега ще тествам всякакви сценарии с различни връзки и мисля, че темата върви към затваряне. ;)
12  Linux секция за напреднали / Хардуерни и софтуерни проблеми / Q: Настройка на iptables + iproute2, маршрутизация чрез маркиране. -: Oct 07, 2016, 18:35
Здравейте, манияци

(реалните IP адреси и портове са сменени за илюстрацията).

Имам Debian Jessie сървър A с публичен адрес 77.77.77.77.
Имам Debian Jessie сървър B с публичен адрес 77.77.78.78 (различен subnet).

Сървър B слуша на TCP 3333.
Искам връзки към A:13333 да бъдат пренасочвани към B:3333

Пробвах:
Код
GeSHi (Bash):
  1. iptables -t nat -I PREROUTING 1 -i eth0 -p tcp --dport 13333 -j DNAT --to-destination 77.77.78.78:3333
Но не работи, защото когато B отговори на клиента, клиентът не знае за пренасочването от A->B и отговаря с TCP RST.
Ако добавя и
Код
GeSHi (Bash):
  1. iptables -t nat -A POSTROUTING -d 77.77.78.78 -p tcp --dport 3333 -j MASQUERADE
номерът става, но тогава в логовете на B не виждам истинския адрес на клиента, което ми е проблем.

За това решавам да правя рутиране с отделна таблица и маркиране на пакети/връзки.
Понеже A и B са в различни мрежи, решавам да вдигна IP-IP тунел:


На сървър A:
Код
GeSHi (Bash):
  1. ip tunnel add tunnel0 mode ipip remote 77.77.78.78 local 77.77.77.77 ttl 32
  2. ip link set tunnel0 up
  3. ip addr add 192.168.254.1/30 dev tunnel0

На сървър B:
Код
GeSHi (Bash):
  1. ip tunnel add tunnel0 mode ipip remote 77.77.77.77 local 77.77.78.78 ttl 32
  2. ip link set tunnel0 up
  3. ip addr add 192.168.254.2/30 dev tunnel0
ICMP ping минава.

Сега почват iptables + iproute2 магиите.
На сървър B:
Код
GeSHi (Bash):
  1. iptables -t mangle -A PREROUTING -i tunnel0 -p tcp --dport 3333 -j MARK --set-xmark 0x1/0xffffffff
  2. echo 1 rt_tunnel0 >> /etc/iproute2/rt_tables
  3. ip route add default via 192.168.254.1 dev tunnel0 table rt_tunnel0
  4. ip rule add from all fwmark 1 table rt_tunnel0

На сървър A:
Код
GeSHi (Bash):
  1. iptables -t nat -I PREROUTING 1 -i eth0 -p tcp --dport 13333 -j DNAT --to-destination 192.168.254.2:3333
Сега като пусна един "tcpdump -i tunnel0" на server B, виждам, че пристигат TCP SYN по тунела, ма сървър B не е*ава да върне TCP ACK.

Къде бъркам? Нещо по return path-а ли?

Благодаря предварително!
13  BSD секция / Настройки на софтуер / Re: FreeBSD: vim не си изтрива прозореца, когато излиза! -: Dec 12, 2011, 15:19
Разгеле! Оправих го! Пиша как, за бъдещите поколения! :P
Реших да рекомпилирам!
Цитат
[root@freebsd ~]# cd /usr/ports/editors/vim
[root@freebsd /usr/ports/editors/vim]# vim Makefile

Дабавям някъде в началото: WITH_XTERM_SAVE=yes

[root@freebsd /usr/ports/editors/vim]# make clean && make install
...
...
...
===>   vim-7.3.121 is already installed
      You may wish to ``make deinstall'' and install this port again
      by ``make reinstall'' to upgrade it properly.
      If you really wish to overwrite the old port of editors/vim
      without deleting it first, set the variable "FORCE_PKG_REGISTER"
      in your environment or the "make install" command line.
*** Error code 1

Stop in /usr/ports/editors/vim.

[root@freebsd /usr/ports/editors/vim]# make deinstall && make reinstall


И тръгна точно както искам! Даже и в screen си работи както исках!
14  BSD секция / Настройки на софтуер / Re: FreeBSD: vim не си изтрива прозореца, когато излиза! -: Dec 12, 2011, 14:59
Май тук намирам решение, но никога не съм ръчкал по termcap и ще счупя нещо! Алтернативата е да recompile vim с +xterm_save!
Съвети?

15  BSD секция / Настройки на софтуер / Re: FreeBSD: vim не си изтрива прозореца, когато излиза! -: Dec 12, 2011, 14:11
А като ползвам vim през screen, работи точно както искам! :)
Няма ли начин да се оправи?

Ако е важно:
Цитат
[root@freebsd ~]# cat .screenrc
altscreen on
term xterm
shell -bash
Страници: [1] 2