Õèòðàÿ ìàðøðóòèçàöèÿ äëÿ èñõîäÿùåé ïî÷òû
|
|
Ïîíåäåëüíèê, 01 Ìàðòà 2010 ã. 17:15
+ â öèòàòíèê
Ïèøó øïàðãàëêó äëÿ ñåáÿ, ÷òîáû íå çàáûòü
Íåäàâíî ÿ ïèñàë î òîì, êàê ÿ õèòðèë ñ òðàôèêîì è äîáèëñÿ òîãî, ÷òî òðàôèê ICQ ø¸ë ÷åðåç îäèí êàíàë, à îñòàëüíîé òðàôèê - ÷åðåç äðóãîé. Òîãäà óäàëîñü âûêðóòèòüñÿ äîâîëüíî ïðîñòî. Çàðàíåå áûë èçâåñòåí äèàïàçîí IP-àäðåñîâ, êîòîðûé äîëæåí áûë ïîéòè ÷åðåç àëüòåðíàòèâíûé ìàðøðóò.
Òåïåðü çàäà÷à èçìåíèëàñü.
Òåïåðü çàäà÷à âñòàëà ïî-äðóãîìó. Íóæíî áûëî âåñü èñõîäÿùèé òðàôèê SMTP ïóëÿòü íå â äåôîëòíûé êàíàë. È òåïåðü ïðè÷èíà áûëà íå â íà䏿íîñòè êàíàëà, à â òîì, ÷òî íà äåôîëòíîì êàíàëå ó íàñ áûë äèíàìè÷åñêèé IP, êîòîðûé íå íðàâèëñÿ ïî÷òîâèêàì.
À âîò íà õîðîøåì êàíàëå âñ¸ áûëî õîðîøî è äàæå äëÿ íàñ áûëî çàðåãèñòðèðîâàíî íîðìàëüíîå äîìåííîå èìÿ.
Âîò òîëüêî òåïåðü íàçíà÷åíèåì ïàêåòîâ ìîæåò áûòü íå çàðàíåå èçâåñòíûé ïóë àäðåñîâ - à ïðàêòè÷åñêè âåñ èíòåðíåò. Ïîýòîìó ñòàðûå ìåòîäû íå ïîìîãàþò.
Ïðîáëåìà ðåøàåòñÿ â äâà ýòàïà - ñíà÷àëà iptables â òàáëèöå mangle ìàðêèðóåò ïàêåòû:
PHP:
[root@caesar log]# cat /etc/sysconfig/iptables
# Generated by iptables-save v1.4.0 on Wed Feb 24 11:27:17 2010
*mangle
:PREROUTING ACCEPT [42490:6051887]
:INPUT ACCEPT [42470:6044225]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [66561:77530427]
:POSTROUTING ACCEPT [66561:77530427]
[0:0] -A OUTPUT -p tcp -m tcp --dport 25 -j CONNMARK --set-mark 0x2
[0:0] -A OUTPUT -m connmark --mark 0x2 -j MARK --set-mark 0x2
.............
font>
Çàòåì çàðàíåå ìàðêèðîâàííûå ïàêåòû ðóëèì êóäà íàäî.
Ñíà÷àëà äîáàâèòü ñòðî÷êó â íóæíûé ôàéë
PHP:
[root@caesar log]# cat /etc/iproute2/rt_tables
#
# reserved values
#
255 local
254 main
253 default
0 unspec
.......
<b>112 smtpalt</b>
font>
Ïîòîì äîáàâèòü ïðàâèëî
PHP:
[root@caesar log]#/sbin/ip rule add fwmark 0x2 lookup smtpalt
font>
È íàêîíåö ìàðøðóò
PHP:
[root@caesar log]#/sbin/ip route add src 192.168.1.2 default dev eth0 via 192.168.1.1 table smtpalt
font>
È äà - ïðèøëîñü ó postfix â êîíôèãå ÿâíî ïðîïèñûâàòü èñõîäÿùèé IP
smtp_bind_address=192.168.1.2
Ìàêñ. ß íè÷åãî íå çàáûë?
Ìåòêè:
áóäíè it
-
Çàïèñü ïîíðàâèëàñü
-
0
Ïðîöèòèðîâàëè
-
0
Ñîõðàíèëè
-