ALT Linux sysadmins discussion
 help / color / mirror / Atom feed
From: Igor Solovyov <gosha@anti.su>
To: sysadmins@lists.altlinux.org
Subject: Re: [Sysadmins] два шлюза и проброс во внутреннюю  сеть
Date: Sun, 11 Nov 2007 22:21:34 +0500
Message-ID: <20071111222134.b40c6234.gosha@anti.su> (raw)
In-Reply-To: <200711021554.18387.peet@altlinux.ru>

Hi!
On Fri, 2 Nov 2007 15:54:18 +0300
"Peter V. Saveliev" <peet@altlinux.ru> wrote:

> Давайте посмотрим, как вообще можно управлять классами маршрутизации
> в Linux....

В общем докладываю. 
На всякий случай напомню, схема такова: маршрутизатор, два канала,
оба с приватными адресами на моей стороне, но один из них nat-ится
циской, которая имеет реальный ip:

канал 2 - сюда нужно выпустить web-трафик
adsl-модем
(192.168.1.1)
|
192.168.1.2
маршрутизатор
(прокси, почта)
192.168.151.22
|
|<- локалка 192.168.151.0/24
|
(192.168.151.254)
cisco
канал 1 - сюда нужно выпустить почту

интрефейсы:
# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:80:48:22:BA:94  
          inet addr:192.168.151.22  Bcast:192.168.151.255
.....
eth1      Link encap:Ethernet  HWaddr 00:80:48:4F:A1:E3  
          inet addr:192.168.1.2  Bcast:192.168.151.255
....
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
....

Слушающие сервисы:

192.168.151.22:25   0.0.0.0:*  LISTEN 4838/master
192.168.151.22:110  0.0.0.0:*  LISTEN 4761/cyrmaster
192.168.151.22:143  0.0.0.0:*  LISTEN 4761/cyrmaster
192.168.151.22:8080 0.0.0.0:*  LISTEN 4987/(squid)
192.168.151.22:53   0.0.0.0:*  LISTEN 4710/named
127.0.0.1:53        0.0.0.0:*  LISTEN 4710/named
127.0.0.1:953       0.0.0.0:*  LISTEN 4710/named

т.е. почта и прокси слушают только на eth0, глядящий в локалку
и на циску с реальным айпишником снаружи (канал 1).

маршрут по умолчанию установлен на канал 2:
# route -n

Kernel IP routing table
Destination     Gateway         Genmask     Flags Metric Ref Use
Iface 
192.168.151.0   0.0.0.0      255.255.255.0   U     0     0   0 eth0
192.168.1.0     0.0.0.0      255.255.255.0   U     0     0   0 eth1
0.0.0.0         192.168.1.1     0.0.0.0      UG    100   0   0 eth1


Теперь iproute:

# cat /etc/iproute2/rt_tables
255     local
254     main
253     default
0       unspec
150     adsltab # таблица для канала 2
151     dtab    # таблица для канала 1

# ip ru l

0:      from all lookup local 
150:    from all iif eth1 lookup adsltab 
151:    from all iif eth0 lookup dtab 
200:    from all fwmark 0x19 lookup dtab 
201:    from all fwmark 0x6e lookup dtab 
202:    from all fwmark 0x8f lookup dtab 
204:    from all fwmark 0xe4 lookup adsltab 
32766:  from all lookup main 
32767:  from all lookup default 

# ip ro l t adsltab
default via 192.168.1.1 dev eth1 

# ip ro l t dtab
default via 192.168.151.254 dev eth0 

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

# iptables -t mangle -nL

Chain PREROUTING (policy ACCEPT)
target     prot opt source     destination         

Chain INPUT (policy ACCEPT)
target     prot opt source     destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source     destination         
MARK       tcp  --  0.0.0.0/0  0.0.0.0/0  tcp dpt:25   MARK set 0x19
MARK       tcp  --  0.0.0.0/0  0.0.0.0/0  tcp dpt:110  MARK set 0x6e
MARK       tcp  --  0.0.0.0/0  0.0.0.0/0  tcp dpt:143  MARK set 0x8f
MARK       tcp  --  0.0.0.0/0  0.0.0.0/0  tcp dpt:8080 MARK set 0xe4 

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination 


В результате всего этого squid исправно выгоняет трафик в канал 2(eth1)
как и задумывалось, а вот postfix тоже упорно пытается выйти наружу
через этот же канал 2 вместо канала 1, что наблюдается tcpdump-ом. :-(

В общем пока получилось только наполовину. Squid выходит в нужный канал,
но он бы и так туда выходил бы, раз default gw туда прописан. :-(

Где же грабли порылись? Уже второй день эротикой занимаюсь...

-- 
Best Regars!
Igor Solovyov


      parent reply	other threads:[~2007-11-11 17:21 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-10-31  6:40 altlinux
2007-10-31 11:25 ` Peter V. Saveliev
2007-11-01  7:25   ` altlinux
2007-11-01  7:50     ` Peter V. Saveliev
2007-11-02  5:57       ` altlinux
2007-11-02  7:11         ` Peter V. Saveliev
2007-11-02  7:36           ` altlinux
2007-11-02  8:03             ` Peter V. Saveliev
2007-11-02 10:43               ` altlinux
2007-11-02 11:11                 ` Peter V. Saveliev
2007-11-06 10:26                   ` altlinux
2007-11-02 14:18                 ` Serge
2007-11-02 14:48                   ` Peter V. Saveliev
2007-11-06  7:56                     ` Alexey I. Froloff
2007-11-02 12:28   ` Igor Solovyov
2007-11-02 12:54     ` Peter V. Saveliev
2007-11-02 17:58       ` Igor Solovyov
2007-11-11 17:21       ` Igor Solovyov [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20071111222134.b40c6234.gosha@anti.su \
    --to=gosha@anti.su \
    --cc=sysadmins@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux sysadmins discussion

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/sysadmins/0 sysadmins/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 sysadmins sysadmins/ http://lore.altlinux.org/sysadmins \
		sysadmins@lists.altlinux.org sysadmins@lists.altlinux.ru sysadmins@lists.altlinux.com
	public-inbox-index sysadmins

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.sysadmins


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git