LINUX.ORG.RU
ФорумAdmin

GRE тунель


0

2

Создаю туннель в первый раз...
имеем локальная сеть А
шлюз внешний IP 81,3.*.*
шлюз лок IP 192.168.0.7

локальная сеть Б
шлюз внешний IP 46.47.*.*
шлюз локальнвй IP 192.168.11.5

Сделано на шлюзе А
в интерферсе добавлен туннель
iface tun0 inet manual
up ip tunnel add tun0 mode gre remote 46.47.*.* local 81.3.*.*
up ifconfig tun0 10.0.0.2 netmask 255.255.255.252 pointopoint 10.0.0.1 mtu 1500
up ip route add 192.168.11.0/255.255.255.0 dev tun0
down ip tunnel del tun0

в iptables добавленно
# iptables -A FORWARD -i tun+ -j ACCEPT
# iptables -A FORWARD -p gre -j ACCEPT
# iptables -A FORWARD -i lo -d 192.168.0.0/24 -j ACCEPT

# iptables -A INPUT -i tun+ -j ACCEPT
# iptables -A INPUT -p gre -j ACCEPT
# iptables -A INPUT -i lo -j ACCEPT

# iptables -A OUTPUT -o tun+ -j ACCEPT
# iptables -A OUTPUT -p gre -j ACCEPT
# iptables -A OUTPUT -o lo -j ACCEPT

где lo
LO_IFACE=«lo»
LO_IP=«127.0.0.1»



на шлюзе Б сделано по аналогиии

результаты:
роутинг на шлюзе А
route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.0.0 0.0.0.0 255.255.255.252 U 0 0 0 tun0
81.3.*.* 0.0.0.0 255.255.255.248 U 0 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.11.0 0.0.0.0 255.255.255.0 U 0 0 0 tun0
0.0.0.0 81.3.*.* 0.0.0.0 UG 100 0 0 eth0
пинги со шлюза А :
пингуется локальный IP шлюзе Б, локальная машина из локальной сетиБ
с локальной машины из сетиА при пинге локальной машины сетиБ
следующее:
C:\>ping 192.168.11.5
Обмен пакетами с 192.168.11.5 по 32 байт:
Ответ от 81.3.*.*: Заданная сеть недоступна.
Ответ от 81.3.*.*: Заданная сеть недоступна.
Ответ от 81.3.*.*: Заданная сеть недоступна.
Ответ от 81.3.*.*: Заданная сеть недоступна.

не понимают от куда 81.3.*.* Айпи берется

из локальной сети со шлюзаБ пингуется только локальный IP шлюзаА
и как заставить пинговаться локальные машины локальных сетей остается не решенной задачей...

Жду ваших советов как все же подружить локальные сети )


Ответ на: комментарий от koos

Не вник в суть треда, но отвечу на вопрос. Для разрешения маршрутизации и, как следствие, переброса пакета с одного интерфейса на другой, говорится sysctl -w net.ipv4.ip_forward=1 (не уверен, сохранится ли это при перезагрузке, поэтому можно просто написать эту единицу в /etc/sysctl.conf), и сделать нат - iptables -t nat -A POSTROUTING -o <наружний интерфейс> -j MASQUERADE

Вообще при конфигурации шлюза можно не трогать цепочки INPUT и OUTPUT - просто поставить им ACCEPT policy, а в FORWARD вставить то, что вам нужно. Для порядка лучше явно написать, с какого на какой интерфейс можно переводить пакеты - iptables -A FORWARD -i <откуда> -o <куда> -j ACCEPT. Кажется странным правило iptables -A FORWARD -p gre -j ACCEPT - если вы имеете в виду заматчить этим правилом пакеты, которые пойдут с туннельного интерфейса на реальный и обратно, разрешать форвард только протокола gre будет ошибкой - через туннель не смогут идти другие пакеты (все это имеет смысл обсуждать, если policy для FORWARD у вас DROP - в противном случае правило избыточно).

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

Забавно, что я даже общался с автором этой статьи когда-то - он написал программу, которая рализует предоставления доступа к шеллу через джаббер, но работала эта программа как-то странновато, вот и пришлось ему написать. А потом уже я узнал, что у бота Talisman есть соответствующий плагин.

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