LINUX.ORG.RU

Сообщения rusya_rr

 

Выполнение функции из скрипта на удаленном хосте.

Форум — General

Хочу, чтобы код функции foofunc исполнялся на хосте remhost.

#!/bin/bash
foofunc(){
command one $var1
...
command n $varn
}
some code
....
ssh user@remhost "foofunc"
...
some code

Не получается. Помогите.

 

rusya_rr
()

вывод файла до известной строки

Форум — General

День добрый. Есть большой лог. Как вывести кусок лога до определенной строки? Номер строки неизвестен, известна уникальная подстрока (время). Спасибо.

 , ,

rusya_rr
()

переворот таблицы в bash

Форум — General

Добрый день. Есть две строки:

ййй ууу ккк еее ....

и

апвыа авпвап орорп gdfg .....

Как вывести их в таком формате в столбец:

ййй: апвыа
ууу: авпвап
ккк: орорп
еее: gdfg
...

?

Как два массива перебрать одновременно в цикле? Туплю чот.

 ,

rusya_rr
()

sendmail игнорирует clientportoptions...

Форум — Admin

...по крайней мере для одного адреса.

1. На сервере два провайдера, два исходящих канала - yota через eth2 и eretlecom через pppoe (ppp0).

2. Настроена маршрутизация для двух каналов по LARTC

3. Маршрутом по умолчанию для сервера служит yota

4. Учитывая частоту появления подсетей йоты в различных блэклистах, в конфиге сендмэйла, который служит почтовиком, указано O ClientPortOptions=Family=inet, Address=91.XXX.XXX.XXX (ertelecom)

Все чудно работает для всех кроме, по-крайней мере, одного адреса. На него настойчиво сендмэйл отправляет с йоты. Почему?

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

rusya_rr
()

почему gateway в debian становится default?

Форум — Admin

В двух словах, если в CentOS прописать в /etc/sysconfig/network-scripts/ifcfg-eth0 например, следующее:

gateway=x.x.x.x

,то этот самый gateway не встанет в список default gateway. Мне так и надо.

На дебиане же если в настройках интерфейса прописать gateway=x.x.x.x , то он добавляется к имеющемуся уже у меня default gateway. Чо делать будем?

 , ,

rusya_rr
()

разрешить Skype через Squid

Форум — Admin

Задача - определенному логину разрешить только скайп через сквид. Как угодно. По юзерагент http://wiki.squid-cache.org/ConfigExamples/Chat/Skype не работает, потому что у него юзерагент такой нынче: «Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E)»

Вообще, конечно, больше ни у кого такого нет юзерагента и можно бы воспользоваться им, но, к сожалению, не силен в регекспах. Поможете?

Upd! Ах, нет, у него-таки есть еще один юзерагент: User-Agent: Skype\231 5.3\r\n

 , , ,

rusya_rr
()

fwmark для локалхоста через недефолтный рут

Форум — Admin

В однатысячапятьсяотдвацотседьмой раз про LARTS, iproutev2, nexthop и fwmark.

Есть два канала в интернет - ppp1 и ppp3. Адреса динамические. Eth0 - интерфейс для LAN (192.168.0.0/23)

На этой машине работает почтовик. Задача - пустить почтовик наружу только через ppp1. ppp1 - недефолтный. Все остальное пустить через дефолтный ppp3.

cat /etc/iproute2/rt_tables
#
# reserved values
#
255    local
254    main
253    default
0    unspec
#
# local
#
#1    inr.ruhep
11   beeline30
13   mts
ip route ls
10.64.64.67 dev ppp3  proto kernel  scope link  src 10.17.19.207
10.64.64.65 dev ppp1  proto kernel  scope link  src 10.215.43.32
192.168.0.0/23 dev eth1  proto kernel  scope link  src 192.168.0.88
ip route ls table beeline30
192.168.0.0/23 dev eth1  scope link
127.0.0.0/8 dev lo  scope link
default via 10.64.64.65 dev ppp1
ip route ls table mts
192.168.0.0/23 dev eth1  scope link
127.0.0.0/8 dev lo  scope link
default via 10.64.64.67 dev ppp3
ip rule ls
0:    from all lookup local
32762:    from all fwmark 0xd lookup mts
32763:    from 10.17.19.207 lookup mts
32764:    from all fwmark 0xb lookup beeline30
32765:    from 10.215.43.32 lookup beeline30
32766:    from all lookup main
32767:    from all lookup default
cat /etc/setfirewall
#!/bin/bash

/etc/firewall/clearfirewall
echo "1" > /proc/sys/net/ipv4/ip_forward
IPT=/sbin/iptables

#LO
LO_IF=lo
LO_IP="127.0.0.1"
#LAN
LAN_IF=eth1
LAN_IP="192.168.0.88"
TN1="192.168.0.0/24"
#beeline gsm
outif1=ppp1
#mts gsm
outif3=ppp3

#Default Policy
$IPT -P INPUT DROP
$IPT -P FORWARD DROP
$IPT -P OUTPUT ACCEPT

# Permit related connections
$IPT -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
$IPT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

#Permit localhost everywhere
$IPT -A INPUT -s $LO_IP -j ACCEPT
$IPT -A FORWARD -s $LO_IP -j ACCEPT
$IPT -A INPUT -s $LAN_IP -j ACCEPT
$IPT -A FORWARD -s $LAN_IP -j ACCEPT

#На почту smtp tcp 25 ставим метку 11
$IPT -t mangle -A OUTPUT -p tcp --dport 25 -j MARK --set-mark 11

#NAT OUR LAN
#gsm
$IPT -t nat -A POSTROUTING -m mark --mark 11 --out-interface $outif1 -j MASQUERADE
$IPT -t nat -A POSTROUTING -s $TN1 --out-interface $outif3 -j MASQUERADE

Почта упрямо ломится через ppp3

telnet smtp.mail.ru 25
Trying 94.100.177.1...
Connected to smtp.mail.ru.
Escape character is '^]'.
220 smtp27.mail.ru ESMTP ready
quit
221 2.0.0 Bye
Connection closed by foreign host.
netstat -nt |grep 25
tcp        0      0 10.17.19.207:60043      94.100.177.1:25         ESTABLISHED

iptables говорит,

iptables -L -vn -t mangle
Chain PREROUTING (policy ACCEPT 564 packets, 51992 bytes)
pkts bytes target     prot opt in     out     source               destination        

Chain INPUT (policy ACCEPT 564 packets, 51992 bytes)
pkts bytes target     prot opt in     out     source               destination        

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination        

Chain OUTPUT (policy ACCEPT 364 packets, 42506 bytes)
pkts bytes target     prot opt in     out     source               destination        
    7   386 MARK       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:25 MARK set 0xb

Chain POSTROUTING (policy ACCEPT 364 packets, 42506 bytes)
pkts bytes target     prot opt in     out     source               destination

что он-таки исправно маркирует пакеты.

Кстати, если убрать маршрут по умолчанию из main

ip route del default

,то

telnet smtp.mail.ru 25
Trying 2a00:1148:1:1322::a1...
Trying 94.100.177.1...
telnet: Unable to connect to remote host: Network is unreachable

если нет шлюза по умолчанию, системе, как я погляжу, плевать и на метки, и на правила, и на то што default gateway есть в таблице beeline30, куда следовало бы по-правилу направить почту по метке.

Да, и

cat /proc/sys/net/ipv4/conf/all/rp_filter
0

ЧЯДНТ?

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

 , , , larts

rusya_rr
()

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