The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"iptables -t nat -I POSTROUTING"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [ Отслеживать ]

"iptables -t nat -I POSTROUTING"  +/
Сообщение от handler2006 email(ok) on 23-Июл-09, 19:51 
И снова здравствуйте!
Имеем роутер на базе Fedora10 с 5-ю сетевыми картами:
eth0 - смотрит в локаль (192.168.0.0/16)
eth1-4 - смотрят в нет (ч/з адсл-модемы)
Адреса клиентам раздаются ДНСП (192.169.0.0/16)
Клиенты подключаются к интернет ч/з ВПН
Скрипт инициализации ВПН-соединения: (/etc/ppp/ip-up)

$1 - имя создаваемого интерфейса (ppp0)
$5 - адрес, насначаемый клиенту (к примеру 192.168.10.20)
$4 - адрес роутера (192.168.1.1)

iptables -I INPUT -i $1 -s $5 -d $4 -j ACCEPT
iptables -I INPUT -i $1 -s $5 -d $4 -j LOG --log-prefix "INPUT "
эти правила работают, клиент видит сервер, но в логи ничего не попадает

iptables -I FORWARD -i $1 -s $5 -j ACCEPT
iptables -I FORWARD -i $1 -s $5 -j LOG --log-prefix "FORWARD "

iptables -t nat -I POSTROUTING -i eth1 -s $5 -j SNAT --to-source (ip_eth1)
iptables -t nat -I POSTROUTING -i eth1 -s $5 -j LOG --log-prefix "POSTROUTING"

iptables -I FORWARD -o $1 -m state --state RELATED,ESTABLISHED -j LOG --log-prefix "BACKWARD"
iptables -I FORWARD -o $1 -m state --state RELATED,ESTABLISHED -j ACCEPT

Правила форвардинга и построутинга в логи попадают, а обратный форвардинг - нет
в логи пишет:
Jul 23 18:44:36 server kernel: FORWARD PPP0: IN=ppp0 OUT=eth1 SRC=192.169.111.1 DST=69.147.83.40 LEN=48 TOS=0x00 PREC=0x00 TTL=127 ID=34218 DF PROTO=TCP SPT=3472 DPT=80 WINDOW=65535 RES=0x00 SYN URGP=0
Jul 23 18:44:36 server kernel: POSTROUTING PPP0: IN= OUT=eth1 SRC=192.169.111.1 DST=69.147.83.40 LEN=48 TOS=0x00 PREC=0x00 TTL=127 ID=34218 DF PROTO=TCP SPT=3472 DPT=80 WINDOW=65535 RES=0x00 SYN URGP=0
Jul 23 18:44:39 server kernel: FORWARD PPP0: IN=ppp0 OUT=eth1 SRC=192.169.111.1 DST=69.147.83.40 LEN=48 TOS=0x00 PREC=0x00 TTL=127 ID=34222 DF PROTO=TCP SPT=3472 DPT=80 WINDOW=65535 RES=0x00 SYN URGP=0
Jul 23 18:44:45 server kernel: FORWARD PPP0: IN=ppp0 OUT=eth1 SRC=192.169.111.1 DST=69.147.83.40 LEN=48 TOS=0x00 PREC=0x00 TTL=127 ID=34267 DF PROTO=TCP SPT=3472 DPT=80 WINDOW=65535 RES=0x00 SYN URGP=0
Jul 23 18:44:58 server kernel: FORWARD PPP0: IN=ppp0 OUT=eth4 SRC=192.169.111.1 DST=91.198.36.14 LEN=48 TOS=0x00 PREC=0x00 TTL=127 ID=35074 DF PROTO=TCP SPT=3498 DPT=80 WINDOW=65535 RES=0x00 SYN URGP=0
Jul 23 18:44:58 server kernel: POSTROUTING PPP0: IN= OUT=eth4 SRC=192.169.111.1 DST=91.198.36.14 LEN=48 TOS=0x00 PREC=0x00 TTL=127 ID=35074 DF PROTO=TCP SPT=3498 DPT=80 WINDOW=65535 RES=0x00 SYN URGP=0
Jul 23 18:45:01 server kernel: FORWARD PPP0: IN=ppp0 OUT=eth4 SRC=192.169.111.1 DST=91.198.36.14 LEN=48 TOS=0x00 PREC=0x00 TTL=127 ID=35076 DF PROTO=TCP SPT=3498 DPT=80 WINDOW=65535 RES=0x00 SYN URGP=0
Jul 23 18:45:07 server kernel: FORWARD PPP0: IN=ppp0 OUT=eth4 SRC=192.169.111.1 DST=91.198.36.14 LEN=48 TOS=0x00 PREC=0x00 TTL=127 ID=35078 DF PROTO=TCP SPT=3498 DPT=80 WINDOW=65535 RES=0x00 SYN URGP=0

Как правильно разрешить форвардинг клиентам?

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "iptables -t nat -I POSTROUTING"  +/
Сообщение от reader (ok) on 23-Июл-09, 20:17 
>[оверквотинг удален]
>Скрипт инициализации ВПН-соединения: (/etc/ppp/ip-up)
>
>$1 - имя создаваемого интерфейса (ppp0)
>$5 - адрес, насначаемый клиенту (к примеру 192.168.10.20)
>$4 - адрес роутера (192.168.1.1)
>
>iptables -I INPUT -i $1 -s $5 -d $4 -j ACCEPT
>iptables -I INPUT -i $1 -s $5 -d $4 -j LOG --log-prefix
>"INPUT "
>эти правила работают, клиент видит сервер, но в логи ничего не попадает

правила местами поменяйте
>[оверквотинг удален]
>TOS=0x00 PREC=0x00 TTL=127 ID=35074 DF PROTO=TCP SPT=3498 DPT=80 WINDOW=65535 RES=0x00 SYN
>URGP=0
>Jul 23 18:45:01 server kernel: FORWARD PPP0: IN=ppp0 OUT=eth4 SRC=192.169.111.1 DST=91.198.36.14 LEN=48
>TOS=0x00 PREC=0x00 TTL=127 ID=35076 DF PROTO=TCP SPT=3498 DPT=80 WINDOW=65535 RES=0x00 SYN
>URGP=0
>Jul 23 18:45:07 server kernel: FORWARD PPP0: IN=ppp0 OUT=eth4 SRC=192.169.111.1 DST=91.198.36.14 LEN=48
>TOS=0x00 PREC=0x00 TTL=127 ID=35078 DF PROTO=TCP SPT=3498 DPT=80 WINDOW=65535 RES=0x00 SYN
>URGP=0
>
>Как правильно разрешить форвардинг клиентам?

что подразумевается под правильно? если что бы логи были, то порядок правил имеет значение, вывод iptables-save показывайте, если конечно тут места хватит

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "iptables -t nat -I POSTROUTING"  +/
Сообщение от bill (ok) on 23-Июл-09, 21:06 
>>iptables -I INPUT -i $1 -s $5 -d $4 -j ACCEPT
>>iptables -I INPUT -i $1 -s $5 -d $4 -j LOG --log-prefix
>>"INPUT "
>>эти правила работают, клиент видит сервер, но в логи ничего не попадает
>
>правила местами поменяйте

Имхо, порядок правильный, менять не надо. Почему в лог не попадает - не понимаю.

>iptables -I FORWARD -o $1 -m state --state RELATED,ESTABLISHED -j LOG --log-prefix "BACKWARD"
>iptables -I FORWARD -o $1 -m state --state RELATED,ESTABLISHED -j ACCEPT

А вот здесь поменяйте. И вывод iptables -L -v  всех таблиц покажите.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "iptables -t nat -I POSTROUTING"  +/
Сообщение от hahdler2006 on 23-Июл-09, 21:45 
Логи пишу, чтобы видно было, попадаем в цепочку или нет.
Местами поменял - ничего не вышло
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "iptables -t nat -I POSTROUTING"  +/
Сообщение от handler2006 email(ok) on 23-Июл-09, 21:52 
# Generated by iptables-save v1.4.1.1 on Thu Jul 23 20:57:48 2009
*mangle
:PREROUTING ACCEPT [566987956:380017734257]
:INPUT ACCEPT [25538654:6909987818]
:FORWARD ACCEPT [541424058:373105554384]
:OUTPUT ACCEPT [38217053:28442981391]
:POSTROUTING ACCEPT [579596878:401516867233]
COMMIT
# Completed on Thu Jul 23 20:57:48 2009
# Generated by iptables-save v1.4.1.1 on Thu Jul 23 20:57:48 2009
*nat
:PREROUTING ACCEPT [13974376:1049640869]
:POSTROUTING ACCEPT [3189961:230140493]
:OUTPUT ACCEPT [3185964:229961223]
-A POSTROUTING -s 192.169.111.1/32 -j LOG --log-prefix "POSTROUTING PPP0: "
-A POSTROUTING -s 192.169.111.1/32 -o eth1 -j SNAT --to-source 10.10.10.1
COMMIT
# Completed on Thu Jul 23 20:57:48 2009
# Generated by iptables-save v1.4.1.1 on Thu Jul 23 20:57:48 2009
*filter
:INPUT ACCEPT [34:5043]
:FORWARD ACCEPT [2893:1696388]
:OUTPUT ACCEPT [30:3282]
-A INPUT -s 192.169.111.1/32 -d 192.169.1.1/32 -i ppp0 -j ACCEPT
-A INPUT -s 192.169.111.1/32 -d 192.169.1.1/32 -i ppp0 -j LOG --log-prefix "INPUT PPP0: "
-A FORWARD -s 192.169.111.1/32 -i ppp0 -j LOG --log-prefix "FORWARD PPP0: "
-A FORWARD -s 192.169.111.1/32 -i ppp0 -j ACCEPT
COMMIT
# Completed on Thu Jul 23 20:57:48 2009
[root@server genesis]#

[root@server genesis]# iptables -L -v
Chain INPUT (policy ACCEPT 857 packets, 143K bytes)
pkts bytes target     prot opt in     out     source               destination        
    0     0 ACCEPT     all  --  ppp0   any     192.169.111.1        192.169.1.1        
    0     0 LOG        all  --  ppp0   any     192.169.111.1        192.169.1.1         LOG level warning prefix `INPUT PPP0: '

Chain FORWARD (policy ACCEPT 65516 packets, 31M bytes)
pkts bytes target     prot opt in     out     source               destination        
    2    96 LOG        all  --  ppp0   any     192.169.111.1        anywhere            LOG level warning prefix `FORWARD PPP0: '
    2    96 ACCEPT     all  --  ppp0   any     192.169.111.1        anywhere            

Chain OUTPUT (policy ACCEPT 664 packets, 83231 bytes)
pkts bytes target     prot opt in     out     source               destination        

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "iptables -t nat -I POSTROUTING"  +/
Сообщение от bill (ok) on 23-Июл-09, 22:26 
>[оверквотинг удален]
>    2    96 ACCEPT  
>  all  --  ppp0   any  
>   192.169.111.1        
>anywhere
>
>Chain OUTPUT (policy ACCEPT 664 packets, 83231 bytes)
> pkts bytes target     prot opt in  
>   out     source  
>          
> destination

Вы определитесь, какие ключи и правила и в каком порядке :
iptables -I INPUT -i $1 -s $5 -d $4 -j ACCEPT
iptables -I INPUT -i $1 -s $5 -d $4 -j LOG --log-prefix "INPUT "

или:

-A INPUT -s 192.169.111.1/32 -d 192.169.1.1/32 -i ppp0 -j ACCEPT
-A INPUT -s 192.169.111.1/32 -d 192.169.1.1/32 -i ppp0 -j LOG --log-prefix "INPUT PPP0: "


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "iptables -t nat -I POSTROUTING"  +/
Сообщение от reader (ok) on 23-Июл-09, 22:46 
>[оверквотинг удален]
>COMMIT
># Completed on Thu Jul 23 20:57:48 2009
># Generated by iptables-save v1.4.1.1 on Thu Jul 23 20:57:48 2009
>*filter
>:INPUT ACCEPT [34:5043]
>:FORWARD ACCEPT [2893:1696388]
>:OUTPUT ACCEPT [30:3282]
>-A INPUT -s 192.169.111.1/32 -d 192.169.1.1/32 -i ppp0 -j ACCEPT
>-A INPUT -s 192.169.111.1/32 -d 192.169.1.1/32 -i ppp0 -j LOG --log-prefix "INPUT
>PPP0: "

я ошибся, невнимательно посмотрел что используется -I а не -A, менять местами не нужно было

>-A FORWARD -s 192.169.111.1/32 -i ppp0 -j LOG --log-prefix "FORWARD PPP0: "
>
>-A FORWARD -s 192.169.111.1/32 -i ppp0 -j ACCEPT

тут в логи попадет только что идет с 192.169.111.1/32 через ppp0, ответы сюда не попадут, а пройдут через :FORWARD ACCEPT (политики по умолчанию), что бы их логировать нужно обратное правило
-A FORWARD -d 192.169.111.1/32 -o ppp0 -j LOG --log-prefix "FORWARD PPP0: "

>[оверквотинг удален]
>    2    96 ACCEPT  
>  all  --  ppp0   any  
>   192.169.111.1        
>anywhere
>
>Chain OUTPUT (policy ACCEPT 664 packets, 83231 bytes)
> pkts bytes target     prot opt in  
>   out     source  
>          
> destination

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "iptables -t nat -I POSTROUTING"  +/
Сообщение от handler2006 (ok) on 24-Июл-09, 09:12 
>тут в логи попадет только что идет с 192.169.111.1/32 через ppp0, ответы
>сюда не попадут, а пройдут через :FORWARD ACCEPT (политики по умолчанию),
>что бы их логировать нужно обратное правило
>-A FORWARD -d 192.169.111.1/32 -o ppp0 -j LOG --log-prefix "FORWARD PPP0: "

Форварды в логи попадают, мне нужно роутинг настроить и чтобы ответ попадал, но, по-моему, роутинг не работает.
У меня 4 таблицы маршрутизации, может, они влияют на работу?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "iptables -t nat -I POSTROUTING"  +/
Сообщение от reader (ok) on 24-Июл-09, 10:27 
>>тут в логи попадет только что идет с 192.169.111.1/32 через ppp0, ответы
>>сюда не попадут, а пройдут через :FORWARD ACCEPT (политики по умолчанию),
>>что бы их логировать нужно обратное правило
>>-A FORWARD -d 192.169.111.1/32 -o ppp0 -j LOG --log-prefix "FORWARD PPP0: "
>
>Форварды в логи попадают, мне нужно роутинг настроить и чтобы ответ попадал,
>но, по-моему, роутинг не работает.
>У меня 4 таблицы маршрутизации, может, они влияют на работу?

тогда по порядку
1 кто и куда посылает запрос
2 через какой интерфейс он должен уйти
3 как должен пройти ответ

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "iptables -t nat -I POSTROUTING"  +/
Сообщение от handler2006 email(ok) on 28-Июл-09, 20:16 
>тогда по порядку
>1 кто и куда посылает запрос
>2 через какой интерфейс он должен уйти
>3 как должен пройти ответ

1 vpn-client (ppp0) try go to the internet throught router
2 eth1
3 reverse (from eth1 to ppp0)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

10. "iptables -t nat -I POSTROUTING"  +/
Сообщение от reader (ok) on 28-Июл-09, 22:41 
>>тогда по порядку
>>1 кто и куда посылает запрос
>>2 через какой интерфейс он должен уйти
>>3 как должен пройти ответ
>
>1 vpn-client (ppp0) try go to the internet throught router
>2 eth1
>3 reverse (from eth1 to ppp0)

iptables этому не мешает, разве что может какие модули потребуется подгрузить
http://www.opennet.me/openforum/vsluhforumID10/4246.html

если шлюз по умолчанию за eth1, то должно работать, но таблицы маршрутизации могут и повлиять на это. но это уже смотреть нужно.
tcpdump на интерфейсах и смотрите что там происходит.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

11. "iptables -t nat -I POSTROUTING"  +/
Сообщение от handler2006 (ok) on 29-Июл-09, 17:43 
>если шлюз по умолчанию за eth1, то должно работать, но таблицы маршрутизации
>могут и повлиять на это. но это уже смотреть нужно.
>tcpdump на интерфейсах и смотрите что там происходит.

В /etc/ip-up
iptables -F
iptables -X
iptables -t nat -F

ip route flush table 1 (table 2, ... для каждой таблицы)
route add default gw  ip_eth1
т. е. все правила сброшены.
Устанавливаем соединение.
tcpdump -i ppp0
16:40:50.526559 IP 192.169.111.1 > IGMP.MCAST.NET: igmp v3 report, 1 group record(s)
16:40:54.148087 IP 192.169.111.1.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request, length 300
16:40:57.706460 IP 192.169.111.1.osmosis-aeea > www.i.ua.http: S 3975069550:3975069550(0) win 65535 <mss 1360,nop,nop,sackOK>
16:40:58.677862 IP 192.169.111.1.netbios-ns > 255.255.255.255.netbios-ns: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST
16:40:59.124182 IP 192.169.111.1.hp-san-mgmt > 239.255.255.250.ssdp: UDP, length 133
16:40:59.427980 IP 192.169.111.1.netbios-ns > 255.255.255.255.netbios-ns: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST
16:41:00.178094 IP 192.169.111.1.netbios-ns > 255.255.255.255.netbios-ns: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST
16:41:00.670055 IP 192.169.111.1.osmosis-aeea > www.i.ua.http: S 3975069550:3975069550(0) win 65535 <mss 1360,nop,nop,sackOK>
16:41:00.928216 IP 192.169.111.1.netbios-ns > 255.255.255.255.netbios-ns: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST
16:41:02.125892 IP 192.169.111.1.hp-san-mgmt > 239.255.255.250.ssdp: UDP, length 133
16:41:05.126335 IP 192.169.111.1.hp-san-mgmt > 239.255.255.250.ssdp: UDP, length 133
16:41:06.701570 IP 192.169.111.1.osmosis-aeea > www.i.ua.http: S 3975069550:3975069550(0) win 65535 <mss 1360,nop,nop,sackOK>
16:41:07.951288 IP 192.169.111.1.tomato-springs > www.i.ua.http: S 3231951440:3231951440(0) win 65535 <mss 1360,nop,nop,sackOK>
16:41:09.031159 IP 192.169.111.1.journee > www.i.ua.http: S 3437329901:3437329901(0) win 65535 <mss 1360,nop,nop,sackOK>
16:41:10.794218 IP 192.169.111.1.netbios-ns > 255.255.255.255.netbios-ns: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST
16:41:10.926880 IP 192.169.111.1.tomato-springs > www.i.ua.http: S 3231951440:3231951440(0) win 65535 <mss 1360,nop,nop,sackOK>
16:41:11.545334 IP 192.169.111.1.netbios-ns > 255.255.255.255.netbios-ns: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST
16:41:11.944784 IP 192.169.111.1.journee > www.i.ua.http: S 3437329901:3437329901(0) win 65535 <mss 1360,nop,nop,sackOK>
16:41:12.321001 IP 192.169.111.1.netbios-ns > 255.255.255.255.netbios-ns: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST
16:41:13.043329 IP 192.169.111.1.netbios-ns > 255.255.255.255.netbios-ns: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

12. "iptables -t nat -I POSTROUTING"  +/
Сообщение от reader (ok) on 29-Июл-09, 21:34 
>>если шлюз по умолчанию за eth1, то должно работать, но таблицы маршрутизации
>>могут и повлиять на это. но это уже смотреть нужно.
>>tcpdump на интерфейсах и смотрите что там происходит.
>
>В /etc/ip-up
>iptables -F
>iptables -X
>iptables -t nat -F

сеть то серая, я так понимаю, ей нат нужен, а вы правила все убиваете

>
>ip route flush table 1 (table 2, ... для каждой таблицы)
>route add default gw  ip_eth1

route add default gw ip_который_шлюзом_для_eth1 , а не адрес eth1

>[оверквотинг удален]
>16:41:05.126335 IP 192.169.111.1.hp-san-mgmt > 239.255.255.250.ssdp: UDP, length 133
>16:41:06.701570 IP 192.169.111.1.osmosis-aeea > www.i.ua.http: S 3975069550:3975069550(0) win 65535 <mss 1360,nop,nop,sackOK>
>16:41:07.951288 IP 192.169.111.1.tomato-springs > www.i.ua.http: S 3231951440:3231951440(0) win 65535 <mss 1360,nop,nop,sackOK>
>16:41:09.031159 IP 192.169.111.1.journee > www.i.ua.http: S 3437329901:3437329901(0) win 65535 <mss 1360,nop,nop,sackOK>
>16:41:10.794218 IP 192.169.111.1.netbios-ns > 255.255.255.255.netbios-ns: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST
>16:41:10.926880 IP 192.169.111.1.tomato-springs > www.i.ua.http: S 3231951440:3231951440(0) win 65535 <mss 1360,nop,nop,sackOK>
>16:41:11.545334 IP 192.169.111.1.netbios-ns > 255.255.255.255.netbios-ns: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST
>16:41:11.944784 IP 192.169.111.1.journee > www.i.ua.http: S 3437329901:3437329901(0) win 65535 <mss 1360,nop,nop,sackOK>
>16:41:12.321001 IP 192.169.111.1.netbios-ns > 255.255.255.255.netbios-ns: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST
>16:41:13.043329 IP 192.169.111.1.netbios-ns > 255.255.255.255.netbios-ns: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST

а теперь
tcpdump -i eth1
и смотрите идут ли пакеты, которые должны через него пройти, или они идут через другие интерфейсы

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

13. "iptables -t nat -I POSTROUTING"  +/
Сообщение от handler2006 email(ok) on 30-Июл-09, 10:25 
>
>сеть то серая, я так понимаю, ей нат нужен, а вы правила
>все убиваете
>

Убиваю намеренно, чтобы применить новые правила только применительно к новому соединению, а то, знаете ли, на старые правила накладывать новые так путаницы не обберешся.
>
>route add default gw ip_который_шлюзом_для_eth1 , а не адрес eth1
>

пробовал и eth1 и gw все равно не получается
>
>а теперь
>tcpdump -i eth1
>и смотрите идут ли пакеты, которые должны через него пройти, или они
>идут через другие интерфейсы

не получится т. к. ч/з него и другие пакеты ходят а тав ведь натом все адреса 10.10.10.10

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

14. "iptables -t nat -I POSTROUTING"  +/
Сообщение от reader (ok) on 30-Июл-09, 21:09 
>[оверквотинг удален]
>
>пробовал и eth1 и gw все равно не получается
>>
>>а теперь
>>tcpdump -i eth1
>>и смотрите идут ли пакеты, которые должны через него пройти, или они
>>идут через другие интерфейсы
>
>не получится т. к. ч/з него и другие пакеты ходят а тав
>ведь натом все адреса 10.10.10.10

но адрес куда вы отправляете пакет вить не изменяется и ответ от него же будет.
опция host в помощь, ну или анализируйте все настройки и думайте в каком именно месте проблема.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

15. "iptables -t nat -I POSTROUTING"  +/
Сообщение от handler2006 email(ok) on 13-Сен-09, 10:21 

Хорошо! А если мы, к примеру, весх будем пускать ч/з ppp-туннели, и в /etc/ppp/ip-up вместе с правилами iptables будем назначать route add default gw $IP_GW - это будет указание для одного туннеля или для всей системы? Если будет создан туннель ppp0 и ему будет назначен один маршрут по уморлчанию, затем мы сменим аргумент адреса маршрута, то при создании ppp1 он получит свой маршрут по-умолчанию. Не станет ли это конфликтом для системы?
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

16. "iptables -t nat -I POSTROUTING"  +/
Сообщение от handler2006 email(ok) on 16-Сен-09, 09:32 
Немного изменил конфигурацию:

eth0 - 200.200.200.1/24 - смотрит в локальную сеть
eth1 - 10.10.10.10/24 - смотрит на адсл-модем

правила iptables:

[codebox]FW='/usr/sbin/iptables'

IF_LOCAL='eth0'
IP_LOCAL='200.200.200.1'
NET_LOCAL='200.200.200.0/24'

IF_NET='eth1'
IP_NET='10.10.10.10'
NET_NET='10.10.10.0/24'

IF_PPP='ppp+'
PPP_NET='100.100.100.0/24'

IP_GW1='10.10.10.1'

EXT_NET='0/0'

echo 1 > /proc/sys/net/ipv4/ip_forward
route add default gw $IP_GW1

$FW -F
$FW -X
$FW -Z
$FW -t nat -F
$FW -t mangle -F

# ************ INPUT *****************************
$FW -A INPUT -i lo -j ACCEPT
$FW -A INPUT -i $IF_PPP -j ACCEPT
$FW -A INPUT -i $IF_LOCAL -s $PPP_NET -j ACCEPT
$FW -A INPUT -i $IF_LOCAL -s $NET_LOCAL -p tcp --dport 1723 -j ACCEPT
$FW -A INPUT -i $IF_LOCAL -s $NET_LOCAL -p udp --dport 1723 -j ACCEPT
$FW -A INPUT -i $IF_LOCAL -s $NET_LOCAL -p gre -j ACCEPT
$FW -A INPUT -i $IF_LOCAL -j DROP

# ************ OUTPUT *****************************
$FW -A OUTPUT -o lo -j ACCEPT
$FW -A OUTPUT -o $IF_PPP -j ACCEPT
#$FW -A OUTPUT -o $IF_LOCAL -d $PPP_NET -j ACCEPT
$FW -A OUTPUT -o $IF_LOCAL -d $NET_LOCAL -p tcp --sport 1723 -j ACCEPT
$FW -A OUTPUT -o $IF_LOCAL -d $NET_LOCAL -p udp --sport 1723 -j ACCEPT
$FW -A OUTPUT -o $IF_LOCAL -d $NET_LOCAL -p gre -j ACCEPT
$FW -A OUTPUT -o $IF_LOCAL -j DROP

# ************ FORWARD *****************************
$FW -A FORWARD -i $IF_PPP -d $EXT_NET -j ACCEPT
$FW -A FORWARD -s $EXT_NET -d $PPP_NET -j ACCEPT

# ************ POSTROUTING *****************************
$FW -t nat -A POSTROUTING -s $PPP_NET -d $EXT_NET -j SNAT --to-source $IP_GW1
[/codebox]

iptables-save
[codebox]# Generated by iptables-save v1.3.6 on Tue Sep 15 09:38:29 2009
*mangle
:PREROUTING ACCEPT [392:27906]
:INPUT ACCEPT [383:27310]
:FORWARD ACCEPT [9:596]
:OUTPUT ACCEPT [288:20286]
:POSTROUTING ACCEPT [235:16202]
COMMIT
# Completed on Tue Sep 15 09:38:29 2009
# Generated by iptables-save v1.3.6 on Tue Sep 15 09:38:29 2009
*nat
:PREROUTING ACCEPT [128:11077]
:POSTROUTING ACCEPT [11:836]
:OUTPUT ACCEPT [7:552]
-A POSTROUTING -s 100.100.100.0/255.255.255.0 -j SNAT --to-source 10.10.10.1
COMMIT
# Completed on Tue Sep 15 09:38:29 2009
# Generated by iptables-save v1.3.6 on Tue Sep 15 09:38:29 2009
*filter
:INPUT ACCEPT [3:252]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [9:756]
-A INPUT -i lo -j ACCEPT
-A INPUT -i ppp+ -j ACCEPT
-A INPUT -s 100.100.100.0/255.255.255.0 -i eth0 -j ACCEPT
-A INPUT -s 200.200.200.0/255.255.255.0 -i eth0 -p tcp -m tcp --dport 1723 -j ACCEPT
-A INPUT -s 200.200.200.0/255.255.255.0 -i eth0 -p udp -m udp --dport 1723 -j ACCEPT
-A INPUT -s 200.200.200.0/255.255.255.0 -i eth0 -p gre -j ACCEPT
-A INPUT -i eth0 -j DROP
-A FORWARD -i ppp+ -j ACCEPT
-A FORWARD -d 100.100.100.0/255.255.255.0 -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -o ppp+ -j ACCEPT
-A OUTPUT -d 200.200.200.0/255.255.255.0 -o eth0 -p tcp -m tcp --sport 1723 -j ACCEPT
-A OUTPUT -d 200.200.200.0/255.255.255.0 -o eth0 -p udp -m udp --sport 1723 -j ACCEPT
-A OUTPUT -d 200.200.200.0/255.255.255.0 -o eth0 -p gre -j ACCEPT
-A OUTPUT -o eth0 -j DROP
COMMIT
# Completed on Tue Sep 15 09:38:29 2009
[/codebox]

Идея проста: dhcpd раздает адреса клиентам в сети из диапазона 200.200.200.10-250
Далее клиент создает ppp-туннель, получая адрес из диапазона 100.100.100.10-250
Правила INPUT OUTPUT работают, как требуется: ограничивают доступ по eth0 только для установления ppp-соединения, а для ppp-туннелей разрешают.
Не работает только FORWARD POSTROUTING - с клиента не пингуется ни eth0(10.10.10.10), ни адсл(10.10.10.1)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру