[SOLVED] iptables и туннель ipip через alias на интерфейсе.
earl1k 12 января, 2011 - 22:57
Имеется один интерфейс eth0 с локальным адресом (10.1.0.80) и алисасом с белым адресом(2.2.2.2). Необходимо установить туннель ipip до другого хоста с белым адресом (3.3.3.3).
Интерфейсы
eth0 Link encap:Ethernet HWaddr 00:13:77:00:05:2f inet addr:10.1.0.80 Bcast:10.1.0.127 Mask:255.255.255.128 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:899709 errors:0 dropped:0 overruns:0 frame:0 TX packets:892157 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:801255068 (764.1 MiB) TX bytes:779659861 (743.5 MiB) Interrupt:10 eth0:0 Link encap:Ethernet HWaddr 00:13:77:00:05:2f inet addr:2.2.2.2 Bcast:10.1.0.127 Mask:255.255.255.128 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 Interrupt:10 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:81 errors:0 dropped:0 overruns:0 frame:0 TX packets:81 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:6448 (6.2 KiB) TX bytes:6448 (6.2 KiB) tun0 Link encap:IPIP Tunnel HWaddr inet addr:192.168.7.2 P-t-P:192.168.7.1 Mask:255.255.255.252 UP POINTOPOINT RUNNING NOARP MTU:1480 Metric:1 RX packets:594166 errors:0 dropped:0 overruns:0 frame:0 TX packets:283983 errors:15 dropped:0 overruns:0 carrier:15 collisions:0 txqueuelen:0 RX bytes:743709980 (709.2 MiB) TX bytes:17976235 (17.1 MiB) tun1 Link encap:IPIP Tunnel HWaddr inet addr:192.168.135.18 P-t-P:192.168.135.17 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MTU:1480 Metric:1 RX packets:795 errors:0 dropped:0 overruns:0 frame:0 TX packets:845 errors:3 dropped:0 overruns:0 carrier:3 collisions:0 txqueuelen:0 RX bytes:610926 (596.6 KiB) TX bytes:115979 (113.2 KiB) tun2 Link encap:IPIP Tunnel HWaddr inet addr:192.168.135.26 P-t-P:192.168.135.25 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MTU:1480 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:16 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:1344 (1.3 KiB)
Туннели
earl@x10plus ~ $ sudo ip tunnel show tunl0: ip/ip remote any local any ttl inherit nopmtudisc tun0: ip/ip remote 10.2.6.2 local 10.1.0.80 ttl 64 tun1: ip/ip remote 10.2.2.10 local 10.1.0.80 ttl 64 tun2: ip/ip remote 3.3.3.3 local 2.2.2.2 ttl 64
Правила iptables
earl@x10plus ~ $ sudo iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination earl@x10plus ~ $ sudo iptables -t nat -S -P PREROUTING ACCEPT -P OUTPUT ACCEPT -P POSTROUTING ACCEPT -A POSTROUTING -o lo -j ACCEPT -A POSTROUTING -o tun0 -j ACCEPT -A POSTROUTING -o tun1 -j ACCEPT -A POSTROUTING -o tun2 -j ACCEPT -A POSTROUTING -d 10.0.0.0/8 -j MASQUERADE -A POSTROUTING -j SNAT --to-source 2.2.2.2
При этом туннели tun0 и tun1 нормально функционируют, а вот tun2 не хочет работать. Чужой трафик в свою сторону вижу, а вот свой вообще не вижу в такой конфигурации. Если меняю local адрес туннеля на 10.1.0.80, то трафик на eth0 вижу, причем с адресом 2.2.2.2, но туннель не работает. Как можно создать туннель с local адресом alias'а? Или подскажите как вообще можно решить данную проблему.
»
- Для комментирования войдите или зарегистрируйтесь
последнее правило неверно -
последнее правило неверно - вы все СНАТируете, а так нельзя - у вас ведь 2 адреса и надо их разделять!
И еще у вас бродкаст у eth0:0 неправильный :)
Мне и нужно всё натить, чтобы
Мне и нужно всё натить, чтобы в интернете работать под белым ip. Броадкаст правильный, посмотрите внимательнее на маску
1. Почти так, :) - кроме того
1. Почти так, :) - кроме того трафика, который идет на/от етх0!
2. Угу у addr:2.2.2.2 Bcast:10.1.0.127 - замечательно! :D
3. Еще у tun1, tun2 - неправильные маски.
P.S. Вообще-то настоятельно рекомендую прочитать перед тем, как читать http://www.netfilter.org/documentation/HOWTO//NAT-HOWTO.html.
1. Согласен, локальный трафик
1. Согласен, локальный трафик лучше не натить, но этого локального трафика к/от eth0 почти нет, поэтому в данном случае это не критично.
2. Чем вам этот броадкаст не угодил, что выхотите тут увидеть?!
3. Знаю, что неправильные, но причем тут они?
За ссылки на статьи спасибо, почитаю. Но все же лучше бы подсказали, чем придираться по пустякам, причем совершенно не относящимся к проблеме.
Вы не правы, вернемся к
Вы не правы, вернемся к дискуссии после того, как изучите хотя бы первый документ...
Вы хотите сказать, что
Вы хотите сказать, что исправив маски на /30, добавив в правила рулесы вида
Все заработает? Нет! Не заработает. Тогда укажите в чем я не прав.
И вообще я пришел сюда не дискутировать, а в разобраться всем вместе с моей проблемой, связанной с малыми знаниями в iptables. В других ОС подобные задачи решал и не раз уже.
А я и помогаю вам устранить
А я и помогаю вам устранить пробелы в образовании для ПОНИМАНИЯ, что вы делаете :).
Кстати первый документ не про НАТ! ;)
Все же тут не учебное
Все же тут не учебное заведение, чтобы давать книжку и отправлять "Читайте, изучайте, а потом приходите и поговорим". Если бы мне нужно было сесть и методично разобраться во всем, так бы и поступил, но в силу времени сейчас такой возможности нет.
А Вам рекомендую всетаки задуматься о карьере в образовательном учреждении :)
В свою очередь, если нет
В свою очередь, если нет времени и желания в чём-то разбираться, рекомендую заглянуть в раздел "Работа - Разовые проекты" или воспользоваться услугами специализированных компаний.
Проблема была удаленном
Проблема была удаленном хосте, с которым я поднимал туннель.