echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p
И теперь вот таким правилом отправляем весь трафик с исходного сервера (aa.aa.aa.aa) на удаленный сервер (bb.bb.bb.bb):
iptables -t nat -I PREROUTING -p tcp -d aa.aa.aa.aa --dport 80 -j DNAT --to bb.bb.bb.bb
После этого трафик должен начать уходить наружу, о чем свидетельствуют счетчики в цепочке FORWARD iptables:
iptables -nvL | grep FORWARD
Chain FORWARD (policy ACCEPT 1430K packets, 69M bytes)
Более подробно можно посмотреть так:
iptables -t nat -nvL
Кстати, при этом даже не особо мощные сервера чувствуют себя просто чудесно:
0.3%hi, 1.3%si, 0.0%st
И теперь на принимающей стороне можем видеть резво бегущий трафик:
iptables -nvL | grep dpt:80
348K 17M ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 state NEW
Полное обнуление правил раутинга можно провести вот так:
iptables -t nat -F
Но я не особенно понимаю, достаются ли после этого пакеты на указанный порт сервисам, что работают на исходном сервере. Поэтому рекомендую их либо потушить либо снять с атакуемого порта.
При этом, на сервере-получателе будут отображаться адреса клиентов, а не адрес исходного сервера.
Также опционально можно включить маскарадинг, который как раз будет отображать айпи сервера источника:
iptables -t nat -A POSTROUTING -j MASQUERADE
Для отладки всех приведенных извращений рекомендую юзать:
tcpdump -n port 80
основано на: http://www.simplehelp.net/2009/04/15/how-to-redirect-traffic-to-another-machine-in-linux/
No comments :
Post a Comment
Note: only a member of this blog may post a comment.