Просмотр Исходного

h1. Пример хука для XGE, суть аналогична и для других роутеров на базе Linux, которые делают NAT.

\\
h5. На самом XGE необходимо создать/дополнить [хук|http://docs.carbonsoft.ru/pages/viewpage.action?pageId=50660094] таким содержимым:
\\
{code}

#!/bin/bash


if [ "$1" = '/etc/init.d/firewall' -a "$2" = 'start' ]; then
MAC="<mac-адрес>" # MAC-адрес с которого прилетают редиректы от Редуктора, обычно совпадает с mac-адресом сетевой карты Редуктора для редиректов.
NIC="eth1" # сетевая карта роутера, на которую прилетают редиректы с редуктора
iptables -t raw -F
iptables -t raw -N reductor_replies &>/dev/null || true
# Не создаём контраки с сорс-портами 53, 80, 443.
iptables -t raw -A reductor_replies -p tcp --sport 80 -j NOTRACK
iptables -t raw -A reductor_replies -p tcp --sport 443 -j NOTRACK
iptables -t raw -A reductor_replies -p udp --sport 53 -j NOTRACK
iptables -t raw -A PREROUTING -i "$NIC" -m mac --mac-source "$MAC" -j reductor_replies
# не натим обращение на заглушку (при условии, что заглушка прямо на Редукторе с серой сеткой и клиенты идут на неё с серой сети)
iptables -I xge_post -t nat -d <ip адрес заглушки> -j ACCEPT
fi

{code}