LINUX.ORG.RU
ФорумAdmin

iptables, проброс портов, множество сеток

 , ,


0

1

приветствую
проконсультируйте, пожалуйста, покажите пальцем, где не прав

eth0 - внешний интерфейс с 3-я белыми IP
eth1-ethN - внутренние интерфейсы в кол-ве больше 2-х

требуется:
1. какие-то внутренние интерфейсы выпустить наружу
2. внутри разрешить пакеты только между eth1 и eth2
3. пробрасывать порты вовнутрь в зависимости от того, на какой белый ip и порт ломятся

пробую так:

#!/bin/bash

white2="123.123.123.2"
white3="123.123.123.3"
white4="123.123.123.4"

iptables -F
iptables -F -t nat
# разрешаю eth1 и eth2 наружу
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -o eth2 -j ACCEPT
iptables -A FORWARD -i eth2 -o eth0 -j ACCEPT

#разрешаю между eth1 и eth2
iptables -A FORWARD -i eth1 -o eth2 -j ACCEPT
iptables -A FORWARD -i eth2 -o eth1 -j ACCEPT

#все остальные внутренние запрещаю
iptables -A FORWARD ! -i eth0 ! -o eth0 -j DROP

# ну и какие-то пробросы вовнутрь

ip="192.168.10.10"
iptables -t nat -A PREROUTING --dst $white2 -p tcp --dport 80 -j DNAT --to-destination $ip
iptables -t nat -A POSTROUTING --dst $ip -p tcp --dport 80 -j SNAT --to-source $white2

iptables -t nat -A PREROUTING --dst $white2 -p tcp --dport 22 -j DNAT --to-destination $ip
iptables -t nat -A POSTROUTING --dst $ip -p tcp --dport 22 -j SNAT --to-source $white2

ip="192.168.10.7"
iptables -t nat -A PREROUTING --dst $white3 -p tcp --dport 80 -j DNAT --to-destination $ip
iptables -t nat -A POSTROUTING --dst $ip -p tcp --dport 80 -j SNAT --to-source $white3

ip="192.168.0.90"
iptables -t nat -A PREROUTING --dst $white2 -p tcp --dport 81 -j DNAT --to-destination $ip:80
iptables -t nat -A POSTROUTING --dst $ip -p tcp --dport 80 -j SNAT --to-source $white2

ip="192.168.15.51"
iptables -t nat -A PREROUTING --dst $white4 -p tcp --dport 2022 -j DNAT --to-destination $ip:22
iptables -t nat -A POSTROUTING --dst $ip -p tcp --dport 22 -j SNAT --to-source $white4

и все как-то криво работает или вообще не работает



Последнее исправление: corkscrew (всего исправлений: 2)

При пробросе порта не нужно ничего добавлять в nat/postrouting (кроме случая с двойным натом).

vel ★★★★★
()

eth0 - внешний интерфейс с 3-я белыми IP

Это как? Расскажите, как у Вас настроена маршрутизация.

funky
()
Ответ на: комментарий от funky

Ему провайдер выделил диапазон IP адресов (сеть) и прописал что она маршрутизируется через такой-то IP адрес.

Вот этот IP адрес и поднят на его eth0.

anonymous
()
Ответ на: комментарий от anonymous

То, что провайдер может выдать подсетку больше чем /32 - понятно, но фраза «а на eth0 просто назначено 3 следующих IP» вызывает смутные подозрения.

funky
()
Ответ на: комментарий от funky

фрагмент ip addr

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    inet 123.123.123.4/29 brd 123.123.123.7 scope global eth0
    inet 123.123.123.2/32 scope global eth0
    inet 123.123.123.3/32 scope global eth0
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    inet 192.168.10.1/24 brd 192.168.10.255 scope global eth1
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    inet 192.168.15.1/24 brd 192.168.15.255 scope global eth2
5: eth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    inet 192.168.0.1/24 brd 192.168.0.255 scope global eth3

corkscrew
() автор топика
Ответ на: комментарий от funky

но фраза «а на eth0 просто назначено 3 следующих IP» вызывает смутные подозрения.

Да что тут странного, ну делается скорее всего демилитаризованная зона.

vodz ★★★★★
()
Ответ на: комментарий от vodz

что-то типа DMZ в том числе
обращения на три разных белых IP в 80-ый порт делается проброс вовнутрь на три разных сервера
но это все мелочи и к делу не имеет отношения
я думал, что озвученный мной выше вопрос - это не сложная задача, просто я не имею нужных знаний о iptables

corkscrew
() автор топика
Ответ на: комментарий от corkscrew

я думал, что озвученный мной выше вопрос - это не сложная задача, просто я не имею нужных знаний о iptables

Конечно, не сложный. Просто на «и все как-то криво работает» что-либо толковое ответить трудно.

vodz ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.