LINUX.ORG.RU

Сообщения EightN

 

iproute2: tc ... match, группировка &&, ||, !

Форум — Admin

Существует ли нормальная документацая по iproute2? Где более подробно рассказывается о всех ключевых словах для tc, примерах оптимизации и тд?

Нужно создать правило для u32 match (ip src 10.0.0.0/24 _и_ ip src 20.0.0.0/20) _но_не_ (ip src 30.0.0.0/24 и ip src 40.0.0.0/20) ... flowid 1:31

Допустим, первые скобки можно раскрыть, написав два аналогичных правила (в первом будет подсеть 10.., во втором - 20..). Но если в первых скобках будет уже 10 различных адресов?

В общем, есть ли правила группировки, а так же объединений по И ИЛИ НЕ всех этих match ?

EightN
()

freebsd: ipfw add .. uid owner не работает

Форум — Admin

Во FreeBSD 5.0 не работают правила с указанием владельца-отправителя пакета:


Правила вида 
ipfw add 900 deny ip from any to www.ru uid www 
(вместо www пробывал указывать и цифровой id) 

не работают для пользователя www, а иногда, как не странно, срабатывают для всех пользователей сразу (последнее - на другой машине). 

вот пример: 

# ipfw show 
00100        878     101308 allow ip from any to any via lo0 
00200          0          0 deny ip from any to 127.0.0.0/8 
00300          0          0 deny ip from 127.0.0.0/8 to any 
65000      50619    8882772 allow ip from any to any 
65535          1         84 deny ip from any to any                         

# ipfw add 900 deny ip from any to www.ru uid www                          00900 deny ip from any to 194.87.0.50 uid www                               

# ipfw show                                                                 
00100        932     107202 allow ip from any to any via lo0 
00200          0          0 deny ip from any to 127.0.0.0/8 
00300          0          0 deny ip from 127.0.0.0/8 to any 
00900          0          0 deny ip from any to 194.87.0.50 uid www 
65000      50629    8884872 allow ip from any to any 
65535          1         84 deny ip from any to any 


# su www                                                               
$ whoami                                                                   
www                                                                                                 

$ wget www.ru 
--00:57:05--  http://www.ru/ 
           => `index.html' 
Resolving www.ru... done. 
Connecting to www.ru[194.87.0.50]:80... connected. 
HTTP request sent, awaiting response... 302 Found 
Location: /eng/index.html [following] 
--00:57:05--  http://www.ru/eng/index.html 
           => `index.html' 
Connecting to www.ru[194.87.0.50]:80... connected. 
HTTP request sent, awaiting response... 200 OK 
Length: 12,177 [text/html] 
100%[========================>] 12,177        16.49K/s    ETA 00:00 
00:57:06 (16.49 KB/s) - `index.html' saved [12177/12177]                         


В чем тут может быть дело? 



Вот конфиг ядра:

===================================================================
machine		i386
cpu			I686_CPU
ident		test1
maxusers	512

options NMBCLUSTERS=65536


device		bpf			# Berkeley packet filter
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=100
options QUOTA  
  
options 	INET			#InterNETworking
options 	FFS		     	#Berkeley Fast Filesystem
options 	SOFTUPDATES		#Enable FFS soft updates support
options 	UFS_ACL			#Support for access control lists
options 	UFS_DIRHASH		#Improve performance on big directories
options 	NFSCLIENT		#Network Filesystem Client
options 	CD9660			#ISO 9660 Filesystem
options 	PROCFS			#Process filesystem (requires PSEUDOFS)
options 	PSEUDOFS		#Pseudo-filesystem framework
options 	COMPAT_43		#Compatible with BSD 4.3 [KEEP THIS!]
options 	COMPAT_FREEBSD4		#Compatible with FreeBSD4
options 	SCSI_DELAY=15000	#Delay (in ms) before probing SCSI
options 	SYSVSHM			#SYSV-style shared memory
options 	SYSVMSG			#SYSV-style message queues
options 	SYSVSEM			#SYSV-style semaphores
options 	_KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions
options 	KBD_INSTALL_CDEV	# install a CDEV entry in /dev
options 	AHC_REG_PRETTY_PRINT	# Print register bitfields in debug
					# output.  Adds ~128k to driver.
options 	AHD_REG_PRETTY_PRINT	# Print register bitfields in debug
					# output.  Adds ~215k to driver.

options 	INVARIANT_SUPPORT	#Extra sanity checks of internal structures, required by INVARIANTS

options 	SMP			# Symmetric MultiProcessor Kernel
options 	APIC_IO			# Symmetric (APIC) I/O

device		isa
device		pci

device		ata
device		atapicd			# ATAPI CDROM drives
options 	ATA_STATIC_ID		#Static device numbering

device		asr			# DPT SmartRAID V, VI and Adaptec SCSI RAID
device		scbus		# SCSI bus (required)
device		da			# Direct Access (disks)
device		cd			# CD
device		pass		# Passthrough device (direct SCSI access)
device		ses			# SCSI Environmental Services (and SAF-TE)
device		aac			# Adaptec FSA RAID
device		aacp		# SCSI passthrough for aac (requires CAM)

device		atkbdc		# AT keyboard controller
device		atkbd		# AT keyboard
device		vga			# VGA video card driver

device		sc

device		npx

device		pmtimer

device		sio			# 8250, 16[45]50 based serial ports

device		miibus		# MII bus support
device		fxp			# Intel EtherExpress PRO/100B (82557, 82558)

device		random		# Entropy device
device		loop		# Network loopback
device		ether		# Ethernet support
device		sl			# Kernel SLIP
device		ppp			# Kernel PPP
device		tun			# Packet tunnel.
device		pty			# Pseudo-ttys (telnet etc)
================================================================
EightN
()

включение useragent_log в squid не работает (после пересборки)

Форум — Admin

squid 2.5.STABLE4, задача - включить логирование useragent-ов.

Пересобираю его с опцией  --enable-useragent_log

make clean
./configure --enable-delay-pools --enable-useragent-log --enable-linux-netfilter
make
make install

в squid.conf прописываю
useragent_log /usr/local/squid/var/logs/agents.log

но при старте squid ругается на
parseConfigFile: line 802 unrecognized: 'useragent_log /usr/lo
cal/squid/var/logs/agents.log'

Где засада?
EightN
()

есть ли аналог "-m owner --uid-owner" во Freebsd ipfw ?

Форум — Admin

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

Т.е. в FreeBSD требуется аналог команды iptables -A OUTPUT -d 10.0.0.0/8 -m owner --uid-owner user1 -j DROP запретить локальному пользователю user1 обращаться к определенному диапазону подсетей.

EightN
()

доступ к консоли Linux через USB

Форум — Admin

С доступом к консоли Linux через Com port все ясно и понятно. Вот ссылка на обсуждение для com-порта: http://www.opennet.ru/openforum/vsluhforumID1/37737.html

Но, к сожалению, в новых ноутбуках этот самый com-порт отсутствует.

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

Почитал документацию Documentation/usb/usb-serial.txt, из которой ясно, что существуют конвертеры usb->serial port. А возможна ли организация доступа к Linux консоли без конвертеров (т.е. напрямую через кабель usb<->usb) ?

EightN
()

распознать ftp-data протокол на bridge

Форум — Admin

Имеется бридж на Linux 2.4.20 с установленным HTB фильтром (на него пакеты заворачиваются при помощи iptables -m mark и u32)

Стоит задача распознования ftp-data протокола и соответственно заворачивания его на нужную htb-ветку. Проблема в том, что ftp-data всегда на разных src,dst портах работает, поэтому распознование по портам сделать нельзя. К iptables существует примочка, которая позволяет распозновать ftp протокол, но она не работает на мосте. Есть ли еще способы?

EightN
()

HyperThreading at 2.4.22 kernel not working

Форум — Admin

А что случилось с поддержкой гипертрейдинга в ядре 2.4.22 ? Запускаю 2.4.22 на 2х-процессорной машине с Xeon-ами и ядро видит всего два процессора (2.4.20 ядро, установленное на этой же машине видит 4 проца).

В новом ядре нужно дополнительно включать какие то опции, кроме [*] Symmetric multi-processing support

?

EightN
()

squid transprent proxy: кеширование списка портов (80,81,8080)

Форум — Admin

Как в squid правильно задать прозрачное кеширование не только 80го порта, но еще и нескольких других (80, 81, 82, 8080...) ?

Если я делаю стандартно (Linux 2.4.21, squid 2.5stable4)
squid.conf
http_port 3128
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on

а в iptables прописываю
-A PREROUTING -s 10.0.0.0/24 -d ! 10.0.0.1 -p tcp -m multiport --dport 80,81,82,83,88,8000,8001,8002,8080,8081 -j REDIRECT --to-port 3128

В этом случае получается, что все сайты, отвечающие по 80му порту, кешируются нормально и доступны.

Но вот сайты на нестандартных портах (например 8080) недоступны - на сквид  попадают уже запросы как бы к 80му порту.


Получается, прозрачное проксирование возможно лишь для одного порта.
Или можно как нибудь сделать проксирование (прозрачное) для списка портов?
EightN
()

librecode + php problem (in ./configure)

Форум — General

Не могу собрать php 4.3.2 c поддержкой recode

recode-3.6 установилась успешно, но при конфигурировании php вылезает ошибка

/configure --with-recode --with-mysql <...> checking for readline support... no checking for recode support... yes configure: error: I cannot link librecode (-L/usr/local/lib -lrecode). Is it installed?

librecode лежит в /usr/local/lib

Поиск выдал, что это проблема самого recode и для freebsd существует патч, исправляющий это дело. К сожалению, под Linux (RH 7.3) этот патч не работает (после него recode не собирается).

Кто нибудь решил эту проблему?

EightN
()

RRDtool - HOW remote control via ip

Форум — Admin

Есть замечательная программа сбора статистики и мониторинга - RRDTool. Типа MRTG, но намного более функциональная.

Но я не нашел в ней, как осуществить съем данных с удаленного хоста. Т.е. есть хост, на котором хранятся .rrd базы. Есть N-цать хостов, на которых снимается (локально) статистика. Как эту статистику отправить на основной хост, хранящий базы и генерирующий отчеты?

Если RRDTool этого не позволяет, возможо есть нечто подобное ему?

EightN
()

Две РАЗНЫХ сети с одинаковой адресацией - как их разделить?

Форум — Admin

Есть две сети (друг с другом не связанные) с одинаковой адресацией 10.0.2.0/24

Есть сеть NET3, 192.168.1.0.
Для доступа к сетям NET1 и NET2 используются разные гейтвеи через основной роутер
GW3 (192.168.1.1)
 
NET3 --->GW3  ---GW1(192.168.1.100) ---> NET1
              ---GW2(192.168.1.200) ---> NET2

GW3 из этих двух сетей отлично видится посредством source routing через iproute2.

Но сделать полную видимость сети NET3 из этих двух сетей (туда-обратно) разумеется не получается.

Можно ли каким то образом сделать подмену адресации сети NET1 или NET2 на одном из гейтвеев(GW1 или GW2) (например все адреса 10.0.2.0/24 менять на 192.168.100.0/24) 
?
При этом не прописывая кучу правил DNAT/SNAT для каждого хоста из посети 10.0.2.0/24
и не вешая кучу IP-alias-ов на интерфейс гейтвея?

Т.е. нечто вроде правила
для каждого пакета, проходящего по FORWARD на GW1 
если source addr = 10.0.2.0/24, поменять на 192.168.100.0/24;
если source addr = 192.168.100.0/24, поменять на 10.0.2.0/24

EightN
()

bridge & fw filter problem (QoS - HTB or CBQ)

Форум — Admin

Имеем Linux 2.4.20 +
ebtables-v2.0.003_vs_2.4.20.diff  +
bridge-nf-0.0.10-against-2.4.20.diff

+ iptables 1.2.7a

Мост br0 на интеpфейсах eth0 и eth1.

Хочy сделать выделенный канал для мелких пакетов (<=500bytes) с максимальным 
пpиоpететом.

Помечаю их в iptables
iptables -t mangle -A FORWARD  -m length --length 0:500 -j MARK --set-mark 0x1
iptables -t mangle -A OUTPUT  -m length --length 0:500 -j MARK --set-mark 0x1

Сyдя по статистике счетчиков iptables -t mangle -nvxL все пакеты пpоходят чеpез
пpавило на OUTPUT и ни одного чеpез FORWARD.
То есть на OUTPUT мелкие пакеты помечаются.

Далее создаю стpyктypy из нескольких каналов, где канал 2:31 имеет небольшyю 
шиpинy и максимальный пpиоpетет с использованием HTB или CBQ.

Пытаюсь заpyлить в 2:31 помеченные пакеты:
/sbin/tc filter add dev eth0 parent 2:0 protocol ip prio 1 handle 0x1 fw flowid
2:31

но по статистике /sbin/tc -s class show dev eth0
по  канале 2:31 наблюдаю 0 пpошедших пакетов. Всегда.

Дpyгие пpавила, постpоенные на u32 сpабатывают пpавильно, напpимеp следyющее:
/sbin/tc filter add dev eth0 parent 2:0 protocol ip prio 4 u32 match ip sport 
80 0xffff flowid 2:41


То есть полyчается, что ошибка где то в интеpпpитации mark поля?

Как по дpyгомy можно заpyлить мелкие пакеты в высокопpиоpететный канал?
Я где то ошибся или чего то недоделал? Подскажите, плз.
EightN
()

xinetd ->создание кучи процессов на 1 пакет

Форум — Admin

Проблема.

Есть небольшая программа, принимающия по UDP пакет с даннымы, обрабатывающая их и отсылающая ответ на news сервер.

Программа стартует из под xinetd:

service programm { socket_type = dgram protocol = udp wait = no user = root server = /usr/local/prog/client disable = no port = 22222 }

сама программа выглялит так (конечно, исходная программа больше, но нижеприведенная ведет себя аналогично):

#!/usr/local/bin/perl -w

use News::NNTPClient; use Socket;

my $buff; my @terms; my $news_server_addr="localhost"; my $news_server_port=119;

$server_acc = "1.2.3.4";

my $addr=recv(STDIN,$buff,1536,0); my($port,$IP) = sockaddr_in($addr); #приняли send STDIN, "", 0, sockaddr_in($port,inet_aton($server_acc)); #подтвердили прием

if ( defined ($buff)) { @terms=split (",",$buff); @body = ($terms[1],$terms[2]); @header = ("Newsgroups: test.test", "Subject: test1" , "From: tester"); #обработали данные $c = new News::NNTPClient($news_server_addr, $news_server_port); $c->post(@header, "", @body); #отослали на Nntp }

При приеме пакета на UDP 22222, xinetd пораждает иногда до 10 процессов (а иногда всего 1). Естветственно, один из них обрабатывает пакет, а остальные остаются висеть в памяти.

Почему это происходит и как избавится от кучи левых пораждаемых процессов?

EightN
()

как заставить mrtg генерить графики по собственным данным?

Форум — Admin

Допустим хочу мониторить температуру процессора и материнской платы.
Написал небольщой перловый скрипт, который видирает эти два числа, выдаваемые lm_sensors.
То есть скрипт при запуске выдает два числа:
X
Y

mrtg же должен по ним строить график? Он в свой лог (кстати интересен его формат), эти числа пишет, но графики пустые рисует.
Может ему еще чего то надо? Пытался после X, Y еще пару чисел выводить (имя и аптайм), не помогает.

Конфиг mrtg приблизительно такой:

Refresh: 300 
WriteExpires: Yes 

Target[temper]: `/usr/local/mrtg/configs/temper/t1`
MaxBytes[examplescript]: 70
Title[temper]: C of router
PageTop[examplescript]: <H1>C of router</H1>
EightN
()

CBQinit - создать правило на диапазон портов?

Форум — Admin

Каким образом в скриптах cbqinit-а создать правило на диапазон портов? Допустим надо ограничить пассивный фтп. Пассив порты - 60000--61000 Что писать в RULE?

За диапазон явно отвечает portmask, вот только я не нашел ее описания.

Разъясните плз.

нужно зашейпить пассив фтп для сеть 10.0.0.0/24, порты - 60000--61000 Как написать: RULE=192.168.205.1:60000/portmask

?

EightN
()

traffic shaping with cbq troubles

Форум — Admin

Задача - урезать Http-шный трафик до 2 мегабит на интерфейсе.

ПОчитал advanced routing & traffic control howto и увидел, что там в sample config почти рабочий пример есть в разделе
9. Queueing Disciplines for Bandwidth Management


Пересобрал ядро с поддержкой cbq, tbf и всеми  Packet classifier API.

Далее пробую тупо ввести то, что в примере

tc qdisc add dev eth0 root handle 1:0 cbq bandwidth 100Mbit  avpkt 1000 cell 8
tc class add dev eth0 parent 1:0 classid 1:1 cbq bandwidth 100Mbit rate 5Mbit weight 0.5Mbit prio 8 allot 1514 cell 8 maxburst 20 avpkt 1000

Эти две строчки проблем не вызывают.
А следующая уже не кушается:
tc class add dev eth0 parent 1:1 classid 10: cbq bandwidth 100Mbit rate 5Mbit weight 0.5Mbit prio 5 allot 1514 cell 8 maxburst 20 avpkt 1000 bounded

RTNETLINK answers: Invalid argument  

Ругается оно на "classid 10:"
если поставить "classid 1:10" то все нормально.

Вопрос в следующем - цифровые индексы тут влияют на какие либо привязки при построении дерева, по которому пакеты спускаться будут или за это отвечают только привязки parent, а в classid я могу что угодно указывать?
Чувствую, что не все что угодно :)
EightN
()

iptables "-i" игнорируются или плавающий ethX

Форум — Admin

Стоит linux 2.4.18, iptables 1.2.6a (пробывались и 1.2.5)

Допустим есть на этой машине интерфейс eth1
   eth1 - 192.168.1.1
   eth1:0 192.168.1.2
   eth1:1 192.168.1.3

пишем:
iptables -I INPUT -i eth1 -d 192.168.1.3 -j DROP
что теоретически должно привести к невидимости eth1:1 снаружи.
Практически он виден полностью. Но если написать
iptables -I INPUT -d 192.168.1.3 -j DROP
его становится не видно.

так же его становится не видно при 
iptables -I INPUT -i eth+ -d 192.168.1.3 -j DROP


Эксперементально было выяснено, что команда
iptables -I INPUT -i eth0 -d 192.168.1.3 -j DROP
приводит к невидимости 192.168.1.3

Для eth1:0 соответственно верно будет "-i eth2"
для eth1 тем не менее все отрабатывает верно именно на "-i eth1"

Интерфейс eth0 физически не имеет отношения к подсети за eth1

Что за ерунда такая получается?
  

p.s.
чуть позже было выяснено еще кое-что:
интерфейсы просто гуляют - при каждом iptables-restore все
ethX меняются местами случайным образом (включая и главный (не алиас)
eth1).


собирание чистого ядра (с подрубленными iptables 1.2.6a или 1.2.5) не помогает.
Настройки, касающиеся сети там такие:


<*> Packet socket                                         
[ ]   Packet socket: mmapped IO                           
< > Netlink device emulation                              
[*] Network packet filtering (replaces ipchains)          
[ ]   Network packet filtering debugging                  
[ ] Socket Filtering                                      
<*> Unix domain sockets                                   
[*] TCP/IP networking                                     
[*]   IP: multicasting                                    
[*]   IP: advanced router                                 
[*]     IP: policy routing                                
[*]       IP: use netfilter MARK value as routing key     
[*]       IP: fast network address translation            
[ ]     IP: equal cost multipath                          
[ ]     IP: use TOS value as routing key                  
[ ]     IP: verbose route monitoring                      
[ ]     IP: large routing tables                          
[ ]   IP: kernel level autoconfiguration                  
< >   IP: tunneling                                       
< >   IP: GRE tunnels over IP                             
[ ]   IP: multicast routing                               
[ ]   IP: TCP Explicit Congestion Notification support    
[ ]   IP: TCP syncookie support (disabled per default)    
  IP: Netfilter Configuration  --->                       
---                                                       
< > The IPX protocol                                      
< > Appletalk protocol support                            
< > DECnet Support                                        
< > 802.1d Ethernet Bridging                              
QoS and/or fair queueing  --->                            


<*> Connection tracking (required for masq/NAT)                 
<*>   FTP protocol support                                      
<*>   IRC protocol support                                      
<*> IP tables support (required for filtering/masq/NAT)         
<*>   limit match support                                       
<*>   MAC address match support                                 
<*>   netfilter MARK match support                              
< >   Multiple port match support                               
< >   TOS match support                                         
< >   AH/ESP match support                                      
< >   LENGTH match support                                      
< >   TTL match support                                         
< >   tcpmss match support                                      
<*>   Connection state match support                            
<*>   Packet filtering                                          
<*>     REJECT target support                                   
<*>   Full NAT                                                  
<*>     MASQUERADE target support                               
<*>     REDIRECT target support                                 
<*>   Packet mangling                                           
<*>     TOS target support                                      
<*>     MARK target support                                     
<*>   LOG target support                                        
< >   ULOG target support                                       
< >   TCPMSS target support                                     


[*] QoS and/or fair queueing                     
<*>   CBQ packet scheduler                       
< >   CSZ packet scheduler                       
< >   The simplest PRIO pseudoscheduler          
< >   RED queue                                  
< >   SFQ queue                                  
< >   TEQL queue                                 
< >   TBF queue                                  
< >   GRED queue                                 
< >   Diffserv field marker                      
< >   Ingress Qdisc                              
[*]   QoS support                                
[*]     Rate estimator                           
[ ]   Packet classifier API                      
                                                 



Танцы с бубном не помогают..
Как бы заставить эти прыгающие интерфейсы успокоится?
EightN
()

проблема с policy routing

Форум — Admin

Проблема с policy routing (маршрутизация от источника).


Исходные данные:
Есть роутер RH7.2 2.4.17 (ROUTER) с двумя интерфейсами eth0 & eth1
eth0 - 10.0.50.1     --> net0=LAN0 10.0.50.0/24
eth1 - 192.168.200.8 --> net2=192.168.200.0/28 --> LAN2 192.168.0.0/16
eth1:0 - 10.0.1.1    --> net3=10.0.1.0/24 --> LAN3 10.0.1.0/24
                                          --> LAN4 192.168.1.0/24

Сеть LAN0 (10.0.50.0/24) через NAT выходит во внешние сети (которые за eth1)

За eth1 наблюдается следующее:
- большая сеть LAN2 c адресацией 192.168.0.0/16, router сразу выходит через 
  GW1 (192.168.200.1), для этой сети он виден под адресом 192.168.200.8 
- небольшая локальная сеть LAN3 10.0.1.0/24, находящаяся в том же сегменте 
  с роутером, для LAN3 роутер виден как 10.0.1.1
- сеть LAN4 с адресацией 192.168.1.0/24 (к сожалению ее адресное пространство
  пересекается с LAN2, но с LAN2 они не связаны и друг о друге не знают).
  В LAN4 роутер выходит через GW2 (10.0.1.10) и для LAN4 он (роутер) виден
  как 10.0.1.1.

  То есть сети LAN3 и LAN4 друг друга видят, но не видят LAN2
  Роутер видит LAN2 (за исключением 192.168.1.0/24), видит LAN3 и LAN4, ну и
  LAN0 естественно.
  Сеть LAN0 выходит в сеть LAN2 через NAT под адресом 192.168.200.8,
  а в сети LAN3 и LAN4 тоже через NAT под адресом 10.0.1.1

схема сети такая:


internal LAN0 ---> eth0  ROUTER-->
10.0.50.0/24    10.0.50.1         



   192.168.200.8  
                 192.168.200.1                                        
ROUTER eth1  <---> GW1 <--->  LAN2 
   NAT-->                     192.168.0.0/16  
      eth1:0<---> LAN310.0.1.0/24    
                  GW2  <---------> LAN4
     10.0.1.1    10.0.1.10        192.168.1.0/24
     




  Роутинг на router сейчас настроен так
  eth1 net 192.168.200.0/28 eth1
  eth1 net 192.168.0.0/16 gw1 metric 2
  eth1 net 10.0.1.0/24 eth1
  eth1 net 192.168.1.0/24 gw2 metric 1
  Таким образом вышенаписанное состояние видимости сетей реализуется.

  Но появилась надобность сделать следующее - из сети LAN0 видеть сеть LAN4,
  а с роутера видеть сеть LAN2 (полностью, включая 192.168.1.0/24)
  Это реализуется только роутингом от источника (роутинг на различные GW, 
  в зависимости от адреса отправителя)
  Или по другому (переформулирую) - роутер должен быть виден
   из сети LAN2 под адресом 192.168.200.8, а
   из сети LAN4 под адресом 10.0.1.1
   и сеть LAN0 должна видеть LAN4

  Соответственно нужно реализовать следующее:
  - если адрес отправителя 192.168.200.8, то использовать GW1
  - если адрес отправителя 10.0.1.1, то использовать GW2 (для LAN4)
  Роутить от источника позволяет пакет iproute2, а точнее рулезы настраиваются
  через ее утилиту ip
  
  Почитал Adv-Routing-HOWTO, пересобрал ядро (включив поддержку policy routing),
  скомпилирвал iproute2, и воспользовался полученной утилитой ip для создания
  правил:

  echo 200 lan2 >> /etc/iproute2/rt_tables
  ip rule add from 192.168.200.8 table lan2
  ip route add default via 10.0.1.10 (это gw2) dev eth1 table lan2

  echo 201 lan4 >> /etc/iproute2/rt_tables
  ip rule add from 10.0.1.1 table lan4
  ip rule add from 10.0.50.0/24 table lan4
  ip route add default via 10.0.1.10 (это gw2) dev eth1 table lan4

  Настроенный прежде роутинг не трогал.
  Таким образом правило правило для lan4 должно бы выполняться ранее остального
  роутинга (который в таблице main находится).

  Тем не менее ничего не происходит - в смысле работает это дело только
  наполовину - чего только не делал, все равно router виден либо из lan2, либо из lan4, но никак не вместе,   ну а сеть lan0 за NAT вообще никоим образом на ip rule не реагирует
  (похоже пакеты из сеть lan0 игнорируют правила ip rule).

  В общем тут явно где то ошибка закралась, вот только где..
  Или маршрутизацию в разные подсети (но с одной и той же адресацией) через
  разные гейты настроить невозможно? Не верю..

EightN
()

ipsec (FreeS/WAN) и автогенерация ключей

Форум — Admin

Кто нибудь поднимал FreeS/WAN под линуксом?

Имеем rh72, 2.4.17, frees/wan 1.95

Делаем обыкновенный туннель между двумя компами в одной подсети.
С ручными ключами все замечательно работает, с автогенерацией же туннель подниматься не хочет, в логах пишет следующее:
secure:

Pluto[643]: "test1" #81: no acceptable Oakley Transform
Pluto[643]: "test1" #82: responding to Main Mode
Pluto[643]: "test1" #82: Can't authenticate: no preshared key found for `10.1.4.1' and `10.1.4.5'.  Attribute OAKLEY_AUTHENTICATION_METHOD
last message repeated 3 times
Pluto[643]: "test1" #82: no acceptable Oakley Transform

Видимо не ключ найти не может.
Так вот какие вообще отличия в автогенерации ключей, в отличии от ручной (в смысле в настройке?)

В файрволле вообще все порты открыты, так что дело точно не в нем.

вот ipsec.conf, брался он из examples-ов в документации:

# /etc/ipsec.conf - FreeS/WAN IPsec configuration file

# basic configuration
config setup
        interfaces="ipsec0=eth0"
	klipsdebug=none
	plutodebug=none
	plutoload=%search
	plutostart=%search
	uniqueids=yes


# defaults for subsequent connection descriptions
# (mostly to fix internal defaults which, in retrospect, were badly chosen)
conn %default
	keyingtries=0
        spi=0x300
	esp=3des-md5-96
	keylife=8h
	auto=add	


conn conn2
        left=10.1.4.1
        leftnexthop=
	right=10.1.4.5
	rightnexthop=
        auto=add
	spi=0x600
	esp=3des-md5-96

EightN
()

routing в разные подсети с одинаковой адресацией

Форум — Admin

Есть RH 7.2 2.4.17, у него на одном интерфейсе два ip адреса, пусть 192.169.1.1 (на нем подсеть 192.168.1.0/24) и 10.0.1.1 (подсеть 10.0.1.0/24)

есть две подсети, физически разные, но имеют одну и ту же адресацию:

192.168.2.0/24 gw 192.168.1.100 192.168.2.0/24 gw 10.0.1.100

Каким образом сделать роутинг, который в зависимости от адреса отправителя (192.168.1.1 или 10.0.1.1) направлял бы пакеты на соответствующие гейтвеи (то есть в соответствуюшие подсети)?

Или так - роутинг это вообще делать позволяет? Судя по всему стандартый нет. Есть ли еще варианты?

EightN
()

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