Jump to content

Как не маскарадить нужную сеть?


Recommended Posts

Подскажите плиз инет раздаю маскарадом iptables -t nat -A POSTROUTING -d 0.0.0.0/0 -j MASQUERADE , все гуд только есть еше видеоархив с айпи 172.15.1.1 на роутере 2 сетевухи одна для юзеров 10.10.0.0/16 а вторая для видео архива 172.15.1.250 так вот проблема в том что видео архив видет айпи не юзера а роуетара, то есть сеть 172.15.1.0/24 маскарадить не надо. Подскажите как настроить что бы сеть 172.15.1.0/24 не маскарадилась а остальное маскарадилось?

Link to post
Share on other sites

Самый простой способ - iptables -t nat -A POSTROUTING -d !172.15.1.0/24 -j MASQUERADE

Но ИМХО сама конструкция маскарада выгдядит немного коряво.

Если есть сеть - роутер - нет

и вторая сетевка стоит ПОСЛЕ роутера то правильнее было бы маскарадить :

iptables -t nat -A POSTROUTING -s 172.15.1.0/24 -o ethX -j MASQUERADE

т.е. маскарадить только выбранный сетевой интерфейс (ethX).

Link to post
Share on other sites

Подскажите плиз инет раздаю маскарадом iptables -t nat -A POSTROUTING -d 0.0.0.0/0 -j MASQUERADE , все гуд только есть еше видеоархив с айпи 172.15.1.1 на роутере 2 сетевухи одна для юзеров 10.10.0.0/16 а вторая для видео архива 172.15.1.250 так вот проблема в том что видео архив видет айпи не юзера а роуетара, то есть сеть 172.15.1.0/24 маскарадить не надо. Подскажите как настроить что бы сеть 172.15.1.0/24 не маскарадилась а остальное маскарадилось?

Странно. По идее должно маршрутизировать а не натить

Link to post
Share on other sites

Вариант с iptables -t nat -A POSTROUTING -d ! 172.15.1.0/24 -j MASQUERADE не помог, а если iptables -t nat -A POSTROUTING -d 0.0.0.0/0 -o eth0 -j MASQUERADE , то вобще нат нигде не работает. Я тоже считаю что должно и так маршрутизировать но в итога натит.

Link to post
Share on other sites

Вот фаервол

 

# Разрешаем форвардинг пакетов между интерфейсами

echo "1" > /proc/sys/net/ipv4/ip_forward

# Политика по умолчанию DROP: всем всё запрещено

iptables -t filter -P FORWARD DROP

# Разрешаем всё на локальном интерфейсе

iptables -t filter -A INPUT -d 127.0.0.1 -j ACCEPT

iptables -t filter -A OUTPUT -s 127.0.0.1 -j ACCEPT

# DNS. Замечу, ДНС работает и по TCP и по UDP

iptables -t filter -A INPUT -p tcp --sport 53 -j ACCEPT

iptables -t filter -A FORWARD -p tcp --sport 53 -j ACCEPT

iptables -t filter -A FORWARD -p tcp --dport 53 -j ACCEPT

iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT

iptables -t filter -A INPUT -p udp --sport 53 -j ACCEPT

iptables -t filter -A FORWARD -p udp --sport 53 -j ACCEPT

iptables -t filter -A FORWARD -p udp --dport 53 -j ACCEPT

iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT

#

iptables -t filter -A FORWARD -s 172.15.1.1 -j ACCEPT

iptables -t filter -A FORWARD -d 172.15.1.1 -j ACCEPT

#

iptables -t nat -A POSTROUTING -d 0.0.0.0/0 -j MASQUERADE

Link to post
Share on other sites

Попробуйте не

iptables -t nat -A POSTROUTING -d 0.0.0.0/0 -o eth0 -j MASQUERADE

а так, как в моем посте :

iptables -t nat -A POSTROUTING -s 172.15.1.0/24 -o ethX -j MASQUERADE

Где ethX - интерфейс, смотрящий в инет, а 172.15.1.0/24 - Ваша внутрення сеть.

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...