LINUX.ORG.RU

История изменений

Исправление dhameoelin, (текущая версия) :

-A POSTROUTING -o eth0 -j MASQUERADE //открыл интернет
-A POSTROUTING -s 10.10.10.101 -o eth1 -d 192.168.1.0/24 -j MASQUERADE //добавил что бы этот клиент vpn мог попасть в сеть за сервер
-A POSTROUTING -s 10.10.10.102 -o eth1 -d 192.168.1.0/24 -j MASQUERADE //добавил что бы этот клиент vpn мог попасть в сеть за сервер
-A POSTROUTING -s 10.10.10.103 -o eth1 -d 192.168.1.0/24 -j MASQUERADE //добавил что бы этот клиент vpn мог попасть в сеть за сервер
-A POSTROUTING -s 10.10.10.104 -o eth1 -d 192.168.1.0/24 -j MASQUERADE //добавил что бы этот клиент vpn мог попасть в сеть за сервер
-A POSTROUTING -s 10.10.10.105 -o eth1 -d 192.168.1.0/24 -j MASQUERADE //добавил что бы этот клиент vpn мог попасть в сеть за сервер
-A POSTROUTING -o eth0 -s 10.10.10.0/24 -j SNAT --to-source 192.168.100.245 // NAT с eth0 в vpn, хотя не уверен зачем мне это, но было в мануале...
-A POSTROUTING -s 10.10.10.0/24 -o eth1 -j MASQUERADE // разрешаю с vpn сети ходить на интерфейс внутренней сети

-A POSTROUTING -o eth0 -s 10.10.10.0/24 -j SNAT --to-source 192.168.100.245 // NAT с eth0 в vpn, хотя не уверен зачем мне это, но было в мануале... Удали нафиг. Оно тебе не нужно, imho, так как работает первое (в цитате) правило.

-A POSTROUTING -s 10.10.10.0/24 -o eth1 -j MASQUERADE // разрешаю с vpn сети ходить на интерфейс внутренней сети Это правило разрешает ВСЕМ vpn-клиентам ходить в твою локальную сеть. Правила для 101-105 становятся лишними. Думай, как переделать. И, да, тебе не нужен маскарадинг для vpn-клиентов, нужно осилить маршрутизацию.

Едем дальше...

-A INPUT -d 10.10.10.0/24 -i eth0 -j ACCEPT //разрешил что бы vpn на eth0 было разрешено ходить сети 10.10.10.0/24
-A INPUT -s 10.10.10.0/24 -i eth1 -j ACCEPT // разрешаю сети vpn входить в сеть за сервером
-A INPUT -m state ! -i eth0 --state NEW -j ACCEPT
-A FORWARD -s 10.10.10.0/24 -d 10.10.10.0/24 -i eth0 -o tap0 -j ACCEPT // это я назначил что бы vpn сеть ходила до tap0 через eth0 так как eth0 выходит на модем, хотя я неуверен что это нужно было
-A FORWARD -m state -i eth0 -o eth1 --state RELATED,ESTABLISHED -j ACCEPT //сохранять установленное соединение
-A FORWARD -s 10.10.10.0/24 -d 192.168.1.0/24 -i tap0 -j ACCEPT // форвард между сетью vpn и внутренней сети
-A FORWARD -s 192.168.1.0/24 -j ACCEPT // форвард локально сети
-A FORWARD -m state -d 192.168.1.0/24 --state RELATED,ESTABLISHED -j ACCEPT // сохранять соединение
-A FORWARD -s 10.10.10.0/24 -d 192.168.1.0/24 -m state --state NEW -j ACCEPT
-A FORWARD -s 192.168.1.0/24 -d 10.10.10.0/24 -m state --state NEW -j ACCEPT

Ты, вообще, man iptables читал? Нафига так переусложнять??? Попробуем оптимизировать?!

Начнём с -t filter...

Если у тебя -P INPUT DROP, то, как минимум, на время отладки надо так:

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT // сохранять соединение
-A INPUT -i eth0 -m state --state NEW -j ACCEPT // WAN
-A INPUT -i eth1 -m state --state NEW -j ACCEPT // LAN
-A INPUT -i tap0 -m state --state NEW -j ACCEPT // VPN
Потом откорректируешь, кому, откуда и куда можно, а остальные упрутся в политику по-умолчанию. Но, так как у тебя сейчас -P INPUT ACCEPT, то эти правила (и твои тоже) нафиг не нужны.

FORWARD. Обычно он у меня -P FORWARD DROP

-A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT // сохранять соединение
-A FORWARD -i eth0 -o tap0 -m state --state NEW -j ACCEPT // WAN->VPN
-A FORWARD -i tap0 -o eth0 -m state --state NEW -j ACCEPT // VPN->WAN
-A FORWARD -i eth1 -o tap0 -m state --state NEW -j ACCEPT // LAN->VPN
-A FORWARD -i tap0 -o eth1 -m state --state NEW -j ACCEPT // VPN->LAN
-A FORWARD -i eth0 -o eth1 -m state --state NEW -j ACCEPT // WAN->LAN
-A FORWARD -i eth1 -o eth0 -m state --state NEW -j ACCEPT // LAN->WAN
Опять же, после отладки откорректируешь, а сейчас нам надо взлететь.

Ах, да, -t nat:

-A POSTROUTING -o eth0 -j MASQUERADE // маскарадинг
И всё. Почему остальное не нужно - я потом объясню. Проброс портов оставь, он нормальный.

Исправление dhameoelin, :

-A POSTROUTING -o eth0 -j MASQUERADE //открыл интернет
-A POSTROUTING -s 10.10.10.101 -o eth1 -d 192.168.1.0/24 -j MASQUERADE //добавил что бы этот клиент vpn мог попасть в сеть за сервер
-A POSTROUTING -s 10.10.10.102 -o eth1 -d 192.168.1.0/24 -j MASQUERADE //добавил что бы этот клиент vpn мог попасть в сеть за сервер
-A POSTROUTING -s 10.10.10.103 -o eth1 -d 192.168.1.0/24 -j MASQUERADE //добавил что бы этот клиент vpn мог попасть в сеть за сервер
-A POSTROUTING -s 10.10.10.104 -o eth1 -d 192.168.1.0/24 -j MASQUERADE //добавил что бы этот клиент vpn мог попасть в сеть за сервер
-A POSTROUTING -s 10.10.10.105 -o eth1 -d 192.168.1.0/24 -j MASQUERADE //добавил что бы этот клиент vpn мог попасть в сеть за сервер
-A POSTROUTING -o eth0 -s 10.10.10.0/24 -j SNAT --to-source 192.168.100.245 // NAT с eth0 в vpn, хотя не уверен зачем мне это, но было в мануале...
-A POSTROUTING -s 10.10.10.0/24 -o eth1 -j MASQUERADE // разрешаю с vpn сети ходить на интерфейс внутренней сети

-A POSTROUTING -o eth0 -s 10.10.10.0/24 -j SNAT --to-source 192.168.100.245 // NAT с eth0 в vpn, хотя не уверен зачем мне это, но было в мануале... Удали нафиг. Оно тебе не нужно, imho, так как работает первое (в цитате) правило.

-A POSTROUTING -s 10.10.10.0/24 -o eth1 -j MASQUERADE // разрешаю с vpn сети ходить на интерфейс внутренней сети Это правило разрешает ВСЕМ vpn-клиентам ходить в твою локальную сеть. Правила для 101-105 становятся лишними. Думай, как переделать. И, да, тебе не нужен маскарадинг для vpn-клиентов, нужно осилить маршрутизацию.

Едем дальше...

-A INPUT -d 10.10.10.0/24 -i eth0 -j ACCEPT //разрешил что бы vpn на eth0 было разрешено ходить сети 10.10.10.0/24
-A INPUT -s 10.10.10.0/24 -i eth1 -j ACCEPT // разрешаю сети vpn входить в сеть за сервером
-A INPUT -m state ! -i eth0 --state NEW -j ACCEPT
-A FORWARD -s 10.10.10.0/24 -d 10.10.10.0/24 -i eth0 -o tap0 -j ACCEPT // это я назначил что бы vpn сеть ходила до tap0 через eth0 так как eth0 выходит на модем, хотя я неуверен что это нужно было
-A FORWARD -m state -i eth0 -o eth1 --state RELATED,ESTABLISHED -j ACCEPT //сохранять установленное соединение
-A FORWARD -s 10.10.10.0/24 -d 192.168.1.0/24 -i tap0 -j ACCEPT // форвард между сетью vpn и внутренней сети
-A FORWARD -s 192.168.1.0/24 -j ACCEPT // форвард локально сети
-A FORWARD -m state -d 192.168.1.0/24 --state RELATED,ESTABLISHED -j ACCEPT // сохранять соединение
-A FORWARD -s 10.10.10.0/24 -d 192.168.1.0/24 -m state --state NEW -j ACCEPT
-A FORWARD -s 192.168.1.0/24 -d 10.10.10.0/24 -m state --state NEW -j ACCEPT

Ты, вообще, man iptables читал? Нафига так переусложнять??? Попробуем оптимизировать?!

Начнём с -t filter...

Если у тебя -P INPUT DROP, то, как минимум, на время отладки надо так:

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT // сохранять соединение
-A INPUT -i eth0 -m state --state NEW -j ACCEPT // WAN
-A INPUT -i eth1 -m state --state NEW -j ACCEPT // LAN
-A INPUT -i tap0 -m state --state NEW -j ACCEPT // VPN
Потом откорректируешь, кому, откуда и куда можно, а остальные упрутся в политику по-умолчанию. Но, так как у тебя сейчас -P INPUT ACCEPT, то эти правила (и твои тоже) нафиг не нужны.

FORWARD. Обычно он у меня -P FORWARD DROP

-A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT // сохранять соединение
-A FORWARD -i eth0 -o tap0 -m state --state NEW -j ACCEPT // WAN->VPN
-A FORWARD -i tap0 -o eth0 -m state --state NEW -j ACCEPT // VPN->WAN
-A FORWARD -i eth1 -o tap0 -m state --state NEW -j ACCEPT // LAN->VPN
-A FORWARD -i tap0 -o eth1 -m state --state NEW -j ACCEPT // VPN->LAN
-A FORWARD -i eth0 -o eth1 -m state --state NEW -j ACCEPT // WAN->LAN
-A FORWARD -i eth1 -o eth0 -m state --state NEW -j ACCEPT // LAN->WAN
Опять же, после отладки откорректируешь, а сейчас нам надо взлететь.

Исходная версия dhameoelin, :

-A POSTROUTING -o eth0 -j MASQUERADE //открыл интернет
-A POSTROUTING -s 10.10.10.101 -o eth1 -d 192.168.1.0/24 -j MASQUERADE //добавил что бы этот клиент vpn мог попасть в сеть за сервер
-A POSTROUTING -s 10.10.10.102 -o eth1 -d 192.168.1.0/24 -j MASQUERADE //добавил что бы этот клиент vpn мог попасть в сеть за сервер
-A POSTROUTING -s 10.10.10.103 -o eth1 -d 192.168.1.0/24 -j MASQUERADE //добавил что бы этот клиент vpn мог попасть в сеть за сервер
-A POSTROUTING -s 10.10.10.104 -o eth1 -d 192.168.1.0/24 -j MASQUERADE //добавил что бы этот клиент vpn мог попасть в сеть за сервер
-A POSTROUTING -s 10.10.10.105 -o eth1 -d 192.168.1.0/24 -j MASQUERADE //добавил что бы этот клиент vpn мог попасть в сеть за сервер
-A POSTROUTING -o eth0 -s 10.10.10.0/24 -j SNAT --to-source 192.168.100.245 // NAT с eth0 в vpn, хотя не уверен зачем мне это, но было в мануале...
-A POSTROUTING -s 10.10.10.0/24 -o eth1 -j MASQUERADE // разрешаю с vpn сети ходить на интерфейс внутренней сети

-A POSTROUTING -o eth0 -s 10.10.10.0/24 -j SNAT --to-source 192.168.100.245 // NAT с eth0 в vpn, хотя не уверен зачем мне это, но было в мануале... Удали нафиг. Оно тебе не нужно, imho, так как работает первое (в цитате) правило.

-A POSTROUTING -s 10.10.10.0/24 -o eth1 -j MASQUERADE // разрешаю с vpn сети ходить на интерфейс внутренней сети Это правило разрешает ВСЕМ vpn-клиентам ходить в твою локальную сеть. Правила для 101-105 становятся лишними. Думай, как переделать. И, да, тебе не нужен маскарадинг для vpn-клиентов, нужно осилить маршрутизацию.

Едем дальше...

-A INPUT -d 10.10.10.0/24 -i eth0 -j ACCEPT //разрешил что бы vpn на eth0 было разрешено ходить сети 10.10.10.0/24
-A INPUT -s 10.10.10.0/24 -i eth1 -j ACCEPT // разрешаю сети vpn входить в сеть за сервером
-A INPUT -m state ! -i eth0 --state NEW -j ACCEPT
-A FORWARD -s 10.10.10.0/24 -d 10.10.10.0/24 -i eth0 -o tap0 -j ACCEPT // это я назначил что бы vpn сеть ходила до tap0 через eth0 так как eth0 выходит на модем, хотя я неуверен что это нужно было
-A FORWARD -m state -i eth0 -o eth1 --state RELATED,ESTABLISHED -j ACCEPT //сохранять установленное соединение
-A FORWARD -s 10.10.10.0/24 -d 192.168.1.0/24 -i tap0 -j ACCEPT // форвард между сетью vpn и внутренней сети
-A FORWARD -s 192.168.1.0/24 -j ACCEPT // форвард локально сети
-A FORWARD -m state -d 192.168.1.0/24 --state RELATED,ESTABLISHED -j ACCEPT // сохранять соединение
-A FORWARD -s 10.10.10.0/24 -d 192.168.1.0/24 -m state --state NEW -j ACCEPT
-A FORWARD -s 192.168.1.0/24 -d 10.10.10.0/24 -m state --state NEW -j ACCEPT

Ты, вообще, man iptables читал? Нафига так переусложнять??? Попробуем оптимизировать?!

Начнём с -t filter...

Если у тебя -P INPUT DROP, то, как минимум, на время отладки надо так:

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT // сохранять соединение
-A INPUT -i eth0 -m state --state NEW -j ACCEPT
-A INPUT -i eth1 -m state --state NEW -j ACCEPT
-A INPUT -i tap0 -m state --state NEW -j ACCEPT
Потом откорректируешь, кому, откуда и куда можно, а остальные упрутся в политику по-умолчанию. Но, так как у тебя сейчас -P INPUT ACCEPT, то эти правила (и твои тоже) нафиг не нужны.

FORWARD. Обычно он у меня -P FORWARD DROP

-A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT // сохранять соединение
-A FORWARD -i eth0 -o tap0 -m state --state NEW -j ACCEPT // WAN->VPN
-A FORWARD -i tap0 -o eth0 -m state --state NEW -j ACCEPT // VPN->WAN
-A FORWARD -i eth1 -o tap0 -m state --state NEW -j ACCEPT // LAN->VPN
-A FORWARD -i tap0 -o eth1 -m state --state NEW -j ACCEPT // VPN->LAN
-A FORWARD -i eth0 -o eth1 -m state --state NEW -j ACCEPT // WAN->LAN
-A FORWARD -i eth1 -o eth0 -m state --state NEW -j ACCEPT // LAN->WAN
Опять же, после отладки откорректируешь, а сейчас нам надо взлететь.