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
prev 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