Имеется один паблик IP и сеть из виртуальных машин на Debian
# network interface settings
auto lo
iface lo inet loopback
# device: eth0
auto eth0
iface eth0 inet static
address 175.219.59.209
gateway 175.219.59.193
netmask 255.255.255.224
post-up echo 1 > /proc/sys/net/ipv4/conf/eth0/proxy_arp
А вот — моя сеть в двух вариантах настройки:
auto vmbr0
iface vmbr0 inet static
address 10.10.0.1
netmask 255.255.0.0
bridge_ports none
bridge_stp off
bridge_fd 0
post-up ip route add 10.10.0.1/24 dev vmbr0
Тут я могу себе позволить ходить в Интернет, обновлять пакеты и прочие радости грешной жизни,
но в упор не вижу своих соседей по сети
10.10.11.0/24 (все запросы уходят в интернет)
А вот в этом варианте я могу замечательно общаться с соседними машинами
10.10.11.0/24, но никакого
интернета:
auto vmbr1
iface vmbr1 inet static
address 10.10.0.1
netmask 255.255.255.0
bridge_ports none
bridge_stp off
bridge_fd 0
post-up echo 1 > /proc/sys/net/ipv4/ip_forward
post-up iptables -t nat -A POSTROUTING -s '10.10.0.0/24' -o vmbr1 -j MASQUERADE
post-down iptables -t nat -D POSTROUTING -s '10.10.0.0/24' -o vmbr1 -j MASQUERADE
Вот правило, придуманное где-то между 5 и 6 часами ночи/утра:
iptables -t nat -A POSTROUTING ! -d '10.10.11.0/24' -j SNAT --to-source '175.219.59.209'
Оно описывает мой внутренний порыв отсылать все пакеты с адресами вне сети
10.10.11.0/24 через NAT на eth0.
А как правильно это сделать?