Jump to content
Sign in to follow this  
gambrinus

Help c IPTABLES

Recommended Posts

Значит по порядку - есть 3 интерфейса eth0 c адресом 172.20.77.ххх,

eth1 c адресом 10.10.87.xxx и ppp0 - впн соединение с постоянным внешним ip 82.xxx.xxx.xxx.

Задача - натить внешнего клиента с адресом 10.10.99.ххх

пинги с 10.10.99.ххх на 10.10.87.ххх ходят без поблем даже без указания default gateway (10.10.99.100)

Указываю 10.10.87.ххх в качестве дефолтного шлюза, а на нем прописываю правило

iptables -t nat -A POSTROUTING -s 10.10.99.31/255.255.255.255 -o ppp0 -j SNAT --to-source 82.ххх.ххх.ххх

не работает сцуко...

из локалки 172.20.77. при таком же правиле

iptables -t nat -A POSTROUTING -s 172.20.77.ххх/255.255.255.255 -o ppp0 -j SNAT --to-source 82.ххх.ххх.ххх все работает как часики...

мысли?

Share this post


Link to post
Share on other sites

Док, форвард не виноват

Цитата:

из локалки 172.20.77. при таком же правиле

iptables -t nat -A POSTROUTING -s 172.20.77.ххх/255.255.255.255 -o ppp0 -j SNAT --to-source 82.ххх.ххх.ххх все работает как часики...

2 gambrinus

Дайте вывод ip route list и iptables -t forward -vnL

Share this post


Link to post
Share on other sites

EvilShadow писал(а) Wed, 31 January 2007 15:39

Док, форвард не виноват

Цитата:

из локалки 172.20.77. при таком же правиле

iptables -t nat -A POSTROUTING -s 172.20.77.ххх/255.255.255.255 -o ppp0 -j SNAT --to-source 82.ххх.ххх.ххх все работает как часики...

2 gambrinus

Дайте вывод ip route list и iptables -t forward -vnL

proxy:/home/admin# iptables -t forward -vnL

iptables v1.3.6: can't initialize iptables table `forward': Table does not exist (do you need to insmod?)

Perhaps iptables or your kernel needs to be upgraded.

ip route list - command not found Что поставить надо?

Share this post


Link to post
Share on other sites

gambrinus писал(а) Wed, 31 January 2007 15:10

proxy:/home/admin# iptables -t forward -vnL

iptables v1.3.6: can't initialize iptables table `forward': Table does not exist (do you need to insmod?)

Perhaps iptables or your kernel needs to be upgraded.

ip route list - command not found Что поставить надо?

Сорри, ошибся. Конечно же, iptables -t filter -vnL. А что ip нет - это нехорошо. Давайте тогда route -n.

Share this post


Link to post
Share on other sites

EvilShadow писал(а) Wed, 31 January 2007 16:19

gambrinus писал(а) Wed, 31 January 2007 15:10

proxy:/home/admin# iptables -t forward -vnL

iptables v1.3.6: can't initialize iptables table `forward': Table does not exist (do you need to insmod?)

Perhaps iptables or your kernel needs to be upgraded.

ip route list - command not found Что поставить надо?

Сорри, ошибся. Конечно же, iptables -t filter -vnL. А что ip нет - это нехорошо. Давайте тогда route -n.

proxy:/home/admin# iptables -t filter -vnL

Chain INPUT (policy ACCEPT 147M packets, 93G bytes)

pkts bytes target prot opt in out source destination

Chain FORWARD (policy ACCEPT 10M packets, 5663M bytes)

pkts bytes target prot opt in out source destination

Chain OUTPUT (policy ACCEPT 150M packets, 78G bytes)

pkts bytes target prot opt in out source destination

proxy:/home/admin# route -n

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

10.10.109.253 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0

87.245.178.57 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0

10.10.87.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1

172.20.77.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

10.0.0.0 10.10.87.1 255.0.0.0 UG 0 0 0 eth1

0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 ppp0

а ip - это какой пакет? счас поставлю...

Share this post


Link to post
Share on other sites

gambrinus писал(а) Wed, 31 January 2007 15:25

а ip - это какой пакет? счас поставлю...

iproute или iproute2

А дефолт роут у Вас интересный...

Дайте iptables -t mangle -vnL, iptables -t nat -vnL

Share this post


Link to post
Share on other sites

EvilShadow писал(а) Wed, 31 January 2007 16:32

gambrinus писал(а) Wed, 31 January 2007 15:25

а ip - это какой пакет? счас поставлю...

iproute или iproute2

А дефолт роут у Вас интересный...

Дайте iptables -t mangle -vnL, iptables -t nat -vnL

proxy:/home/admin# iptables -t mangle -vnL

Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)

pkts bytes target prot opt in out source destination

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)

pkts bytes target prot opt in out source destination

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)

pkts bytes target prot opt in out source destination

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)

pkts bytes target prot opt in out source destination

Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)

pkts bytes target prot opt in out source destination

proxy:/home/admin# iptables -t nat -vnL

Chain PREROUTING (policy ACCEPT 781K packets, 125M bytes)

pkts bytes target prot opt in out source destination

Chain POSTROUTING (policy ACCEPT 537K packets, 34M bytes)

pkts bytes target prot opt in out source destination

321 26945 SNAT 0 -- * ppp0 172.20.77.51 0.0.0.0/0 to:87.245.178.57

6550 394K SNAT 0 -- * ppp0 172.20.77.43 0.0.0.0/0 to:87.245.178.57

10880 894K SNAT 0 -- * ppp0 172.20.77.53 0.0.0.0/0 to:87.245.178.57

81 4197 SNAT 0 -- * ppp0 172.20.77.13 0.0.0.0/0 to:87.245.178.57

12688 905K SNAT 0 -- * ppp0 172.20.77.7 0.0.0.0/0 to:87.245.178.57

0 0 SNAT 0 -- * ppp0 172.20.77.7 0.0.0.0/0 to:87.245.178.57

0 0 SNAT 0 -- * ppp0 10.10.99.31 0.0.0.0/0 to:87.245.178.57

0 0 SNAT 0 -- * ppp0 10.10.99.31 0.0.0.0/0 to:10.10.109.253

Chain OUTPUT (policy ACCEPT 537K packets, 34M bytes)

pkts bytes target prot opt in out source destination

Share this post


Link to post
Share on other sites

А зачем у Вас два одинаковых правила в конце? И внешний адрес у Вас 82,х,х,х, как указано в первом посте, или все-таки 87,х,х,х, как в последнем?

Share this post


Link to post
Share on other sites

EvilShadow писал(а) Wed, 31 January 2007 19:14

А зачем у Вас два одинаковых правила в конце? И внешний адрес у Вас 82,х,х,х, как указано в первом посте, или все-таки 87,х,х,х, как в последнем?

Да потому что и так и так пробовал...

Внешний адрес 87.ххх.ххх.ххх

Так что же все-таки делать? прописать маршрут до 10.10.99.ххх?

Share this post


Link to post
Share on other sites

Как-то все запутано... Объясните топологию сети. Где физически находится 10.10.99.x? Почему у Вас 10.10.109.253 идет через ppp0, который, как я понял, смотрит в инет? Почему маршрут на 10.0.0.0/8 идет через 10.10.87.1, в то время, как "пинги с 10.10.99.ххх на 10.10.87.ххх ходят без поблем даже без указания default gateway", то есть находятся либо в физ. сети, в которую смотрит eth1, либо за 10.10.87.1? В общем, расскажите, какие адреса на каждом из интерфейсов (с цифрами, без ХХХ), куда нужны маршруты и какова топология сети.

Share this post


Link to post
Share on other sites

EvilShadow писал(а) Wed, 31 January 2007 21:02

Как-то все запутано... Объясните топологию сети. Где физически находится 10.10.99.x? Почему у Вас 10.10.109.253 идет через ppp0, который, как я понял, смотрит в инет? Почему маршрут на 10.0.0.0/8 идет через 10.10.87.1, в то время, как "пинги с 10.10.99.ххх на 10.10.87.ххх ходят без поблем даже без указания default gateway", то есть находятся либо в физ. сети, в которую смотрит eth1, либо за 10.10.87.1? В общем, расскажите, какие адреса на каждом из интерфейсов (с цифрами, без ХХХ), куда нужны маршруты и какова топология сети.

есть хост, имеет 3 сетевых интерфейса

eth0 172.20.77.70 интрасеть

eth1 10.10.87.249 смотрит в городскую сеть

ppp0 87.245.178.57 адрес назначается при поднятии ppp0 (vpn),

это внешний ip

admin@proxy:~$ sudo ifconfig

eth0 Link encap:Ethernet HWaddr 00:01:03:2E:55:20

inet addr:172.20.77.70 Bcast:172.20.77.255 Mask:255.255.255.0

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:50232534 errors:0 dropped:0 overruns:1 frame:0

TX packets:48257731 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:1269361244 (1.1 GiB) TX bytes:3251088660 (3.0 GiB)

Interrupt:11 Base address:0xc400

eth1 Link encap:Ethernet HWaddr 00:03:99:89:46:2B

inet addr:10.10.87.249 Bcast:10.10.87.255 Mask:255.255.255.0

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:62618888 errors:0 dropped:0 overruns:1 frame:0

TX packets:59731802 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:3057904409 (2.8 GiB) TX bytes:1714975456 (1.5 GiB)

Interrupt:10 Base address:0xc800

lo Link encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

UP LOOPBACK RUNNING MTU:16436 Metric:1

RX packets:16556 errors:0 dropped:0 overruns:0 frame:0

TX packets:16556 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:17457462 (16.6 MiB) TX bytes:17457462 (16.6 MiB)

ppp0 Link encap:Point-to-Point Protocol

inet addr:87.245.178.57 P-t-P:10.10.109.253 Mask:255.255.255.255

UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1000 Metric:1

RX packets:9080 errors:0 dropped:0 overruns:0 frame:0

TX packets:8812 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:3

RX bytes:4006389 (3.8 MiB) TX bytes:2845081 (2.7 MiB)

Есть хост 10.10.99.31 которому нужно дать NAT через 10.10.87.249 в интернет. 10.10.99.31 физически находится в другом сегменте сети за шлюзом 10.10.99.100

Если указать в настройках у хоста 10.10.99.31 только IP и маску,

ping идет на 10.10.87.249, поскольку в виндах на этом хосте прописаны маршруты во все сегменты сети 10.0.0.0

ТАк вот, возможно ли это? натить хост 10.10.99.31?

Share this post


Link to post
Share on other sites

Тогда для 10.10.99.31 дефолт роут через 10.10.99.100, для 10.10.99.100 дефолт роут через 10.10.87.249. Ну и для 10.10.87.249, конечно, роут на 10.10.99.31 через 10.10.99.100 (вернее, через тот его адрес, который смотрит в 10.10.87.0)

Share this post


Link to post
Share on other sites

EvilShadow писал(а) Thu, 01 February 2007 00:02

Тогда для 10.10.99.31 дефолт роут через 10.10.99.100, для 10.10.99.100 дефолт роут через 10.10.87.249. Ну и для 10.10.87.249, конечно, роут на 10.10.99.31 через 10.10.99.100 (вернее, через тот его адрес, который смотрит в 10.10.87.0)

Понял, значит невозможно, т.к. 10.10.99.100 админится провайдером... Спасибо Вам за ответы, придется довольствоваться проксируемыми соединениями.

Share this post


Link to post
Share on other sites

gambrinus писал(а) Thu, 01 February 2007 13:38

EvilShadow писал(а) Thu, 01 February 2007 00:02

Тогда для 10.10.99.31 дефолт роут через 10.10.99.100, для 10.10.99.100 дефолт роут через 10.10.87.249. Ну и для 10.10.87.249, конечно, роут на 10.10.99.31 через 10.10.99.100 (вернее, через тот его адрес, который смотрит в 10.10.87.0)

Понял, значит невозможно, т.к. 10.10.99.100 админится провайдером... Спасибо Вам за ответы, придется довольствоваться проксируемыми соединениями.

или поднимать на 10.10.87.249 vpn-сервер

Share this post


Link to post
Share on other sites

gambrinus писал(а) Thu, 01 February 2007 12:40

gambrinus писал(а) Thu, 01 February 2007 13:38

невозможно, т.к. 10.10.99.100 админится провайдером... Спасибо Вам за ответы, придется довольствоваться проксируемыми соединениями.

или поднимать на 10.10.87.249 vpn-сервер

Ну если с админом 10.10.99.100 хорошие отношения, можно попытаться договориться о policy routing для одного конкретного адреса

Share this post


Link to post
Share on other sites

EvilShadow писал(а) Thu, 01 February 2007 13:49

gambrinus писал(а) Thu, 01 February 2007 12:40

gambrinus писал(а) Thu, 01 February 2007 13:38

невозможно, т.к. 10.10.99.100 админится провайдером... Спасибо Вам за ответы, придется довольствоваться проксируемыми соединениями.

или поднимать на 10.10.87.249 vpn-сервер

Ну если с админом 10.10.99.100 хорошие отношения, можно попытаться договориться о policy routing для одного конкретного адреса

К сожалению нет... сеть коммерческая и я не хочу афишировать использование офисного канала из дома.

А посоветуйте vpn-server для обслуживания 5-ти соединений максимум?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...