|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Aleksey Barabanov 2:5020/400 10 Feb 2003 23:54:02 To : Aleksey Barabanov Subject : Re: pass stream over separate interface --------------------------------------------------------------------------------
Hi.
Проверил. Все работает.
Роутер, server 192.168.0.1, eth1 смотрит в локалку.
Сервер, wsadmin 192.168.0.20, есть только eth0 на локалку.
Клиентская машина, wstest 192.168.0.156 мастдай (логов нет ;).
server:~/5 # iptables -t mangle -I PREROUTING -i eth1 -s 192.168.0.156 \
-j MARK --set-mark 2
server:~/5 # echo 202 test.route >> /etc/iproute2/rt_tables
server:~/5 # ip rule add fwmark 2 table test.route
server:~/5 # ip route add default via 192.168.0.20 dev eth1 table test.route
server:~/5 # ip route flush cache
wsadmin:~/5 # echo 1 >>/proc/sys/net/ipv4/conf/eth0/forwarding
После чего пингуем внешний хост с wstest и получаем ping-pong между 1 и 20.
Далее просто маскируем трафик для проверки:
wsadmin:~/5 # iptables -t nat -A POSTROUTING -s 192.168.0.156 \
-j SNAT --to-source 192.168.0.19
wsadmin:~/5 # echo 1 >>/proc/sys/net/ipv4/conf/eth0/proxy_arp
wsadmin:~/5 # ip route add 192.168.0.19 dev lo
И пинги начинают пркрасно проходить.
Меняем перенаправление только для http
server:~/5 # iptables -t mangle -F PREROUTING
server:~/5 # iptables -t mangle -I PREROUTING -i eth1 \
-p tcp --dport 80 -s 192.168.0.156 \
-j MARK --set-mark 2
Hу и опять все ходит как надо.
Далее поднимаем прозрачный прокси на сервере и включаем там редирект:
wsadmin:~/5 # iptables -t nat -I PREROUTING -s 192.168.0.156 \
-p tcp --dport 80 -j REDIRECT --to-port 3128
Сбрасываем счетчики на SNAT:
wsadmin:~/5 # iptables -t nat -Z POSTROUTING
И идем с wstest по вебам, после чего проверяем как крутятся счетчики:
wsadmin:~/5 # iptables -t nat -vL
Chain PREROUTING (policy ACCEPT 75 packets, 6724 bytes)
pkts bytes target prot opt in out source destination
14 672 REDIRECT tcp -- any any wstest.office.local anywhere
tcp dpt:http redir ports 3128
Chain POSTROUTING (policy ACCEPT 14 packets, 835 bytes)
pkts bytes target prot opt in out source destination
0 0 SNAT all -- any any wstest.office.local anywhere
to:192.168.0.19
Chain OUTPUT (policy ACCEPT 78 packets, 4882 bytes)
pkts bytes target prot opt in out source destination
В логах сквида ожидаемая картина. Короче, все работает.
А теперь поведаю, чего это нас так разобрало ;) Давече нашу локалку посетило
некоторое сетевое боевое средство, которое просто таки раскнокало один
мастдайный сервак, работающий в режиме рабочей станции, т.е. как
недоадминистренный ;) Hекая зараза подняла там кучу дополнительный
сервисов, вероятно поставила карту в промис, перехватила и вклинилась в
DHCP и таким образом зарутила трафик на себя, естественно включив свой
рутер, вероятно с целью заспуфить http для проникновения далее. Оно конечно
жило не долго, но позабавило всех. Мастдай в очередной раз проявил себя, а
я сделал вывод, что сетка с мастдайными серваками без VLAN просто опасна.
Bye.
------------------------
Aleksey Barabanov <alekseybb@mail.ru>
--- ifmail v.2.15dev5
* Origin: home (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/18529d4ec0e7b.html, оценка из 5, голосов 10
|