Sunday, 25 January 2009

xen: маскируемся по макам

Посвещается одному ISP который сделал фильтрацию по mac адресу на своем catalyst.

Есть сервер на котором стоит задача сделать кучу xen доменов. Есть два адреса (1.2.3.4/24 для dom0 и 1.2.4.3/24 для dom1) и фильтрация по mac.

Техническая подержка ISP предлагала использовать все что угодно кроме bridge, говорили про NAT (очень не хочется) и routing (тут я не смог понять как они хотели, да и они, сами, не знали, что они хотят и как). А раз не хочет помогать нам техническая поддержка, будем помогать себе сами.

И так, задача: сделать выход в интернет и возможность наблюдать из интернета как dom0 так и dom1, используя для этого bridge и mac-nat (ip nat ну очень не хотелось). Спасибо отдельное Никите, который обратил мое внимание что eth0 на самом деле это bridge. Ну а теперь, собственно, волшебные команды:

ebtables -t nat -A PREROUTING -p IPv4 -d DOM0_MAC -i peth0 --ip-dst DOMU_IP -j dnat --to-dst DOMU_MAC --dnat-target ACCEPT
ebtables -t nat -A PREROUTING -p ARP -d DOM0_MAC -i peth0 --arp-ip-dst DOMU_IP -j dnat --to-dst DOMU_MAC --dnat-target ACCEPT
ebtables -t nat -A POSTROUTING -p IPv4 -s DOMU_MAC -o peth0 --ip-src DOMU_IP -j snat --to-src DOM0_MAC --snat-target ACCEPT
ebtables -t nat -A POSTROUTING -p ARP -s DOMU_MAC -o peth0 --arp-ip-src DOMU_IP -j snat --to-src DOM0_MAC --snat-target ACCEPT

Осталось подумать, как сделать более менее размазано по доменам.

Write on: 14:42 | 0 comments | | tags: , , | permalink |
Add post to:   Delicious Reddit Slashdot Digg Technorati Google


Add comment

Pingbacks

Comments

No comments for this post

Comment form for «xen: маскируемся по макам»

Required. 30 chars of fewer.

Required.