LINUX.ORG.RU
решено ФорумAdmin

IPFire и роутинг

 ,


0

1

Прошу помощи, уважаемое комюнити:

есть проблема, на фаерволе 3 интерфейса - red0, orange0, green0.
Был построен ipsec с удаленной машиной, туннель поднят могу пингать с red0 и orange0, но нет доступа с green0...



ping -I green0 192.168.80.98
PING 192.168.80.98 (192.168.80.98) from 192.168.5.254 green0: 56(84) bytes of data.
From 192.168.5.254 icmp_seq=1 Destination Host Unreachable




ping -I red0 192.168.80.98
PING 192.168.80.98 (192.168.80.98) from 172.16.10.254 red0: 56(84) bytes of data.
64 bytes from 192.168.80.98: icmp_seq=1 ttl=128 time=58.6 ms



ip ro sh
default via 217.110.240.185 dev red0
10.250.156.0/24 via 10.250.156.2 dev tun0
10.250.156.2 dev tun0 proto kernel scope link src 10.250.156.1
172.16.0.0/16 dev orange0 proto kernel scope link src 172.16.10.254
192.168.5.0/24 dev green0 proto kernel scope link src 192.168.5.254
EXTERN IP/29 dev red0 proto kernel scope link src EXTERN IP



ip route get 192.168.80.98
192.168.80.98 via EXTERN IP dev red0 src 172.16.10.254
cache



Как мне пробросить пакеты с green0 в сеть ipsec?

За ранее оч благодарен!


Объясни, зачем тебе надо пинговать с src адресом другого интерфейса.

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

у меня нет доступа к сети 192.168.80.98...возможно я где-то ошибаюсь, подскажите где?

если я пингую из green0 сети, то:

ping 192.168.80.98
PING 192.168.80.98 (192.168.80.98) 56(84) bytes of data.
From 62.96.35.33 icmp_seq=2 Destination Net Unreachable

kbu
() автор топика
Последнее исправление: kbu (всего исправлений: 2)
Ответ на: комментарий от pyatak123


conn HostEurope
left=mail.nmedia.de
leftsubnet=172.16.0.0/16
leftfirewall=yes
lefthostaccess=yes
right=IPSEC EXTERN IP
rightsubnet=192.168.80.0/24
leftid=«EXTERN IP»
rightid=«IPSEC EXTERN IP»
ike=aes256-sha2_256-modp4096,aes256-sha2_256-modp3072,aes256-sha2_256-modp2048,aes256-sha2_256-modp1536,aes256-sha2_256-modp1024,aes256-sha-modp4096,aes256-sha-modp3072,aes256-sha-modp2048,aes256-sha-modp1536,aes256-sha-modp1024
esp=aes256-sha2_256,aes256-sha1
keyexchange=ikev1
ikelifetime=3h
keylife=1h
compress=yes
dpdaction=restart
dpddelay=120
dpdtimeout=30
authby=secret
auto=start

так все работает и из сети 172.16. у меня все есть...но никак не пойму как прокинуть тоже самое для green0

kbu
() автор топика
Последнее исправление: kbu (всего исправлений: 1)
Ответ на: комментарий от kbu

ipfire автоматом выставил такие правила:


Chain IPSECFORWARD (1 references)
target prot opt source destination
RETURN all  — 192.168.80.0/24 172.16.0.0/16 policy match dir in pol ipsec reqid 33 proto esp
MARK all  — 172.16.0.0/16 192.168.80.0/24 policy match dir out pol ipsec reqid 33 proto esp MARK set 0x32

Chain IPSECINPUT (1 references)
target prot opt source destination
RETURN all  — 192.168.80.0/24 172.16.0.0/16 policy match dir in pol ipsec reqid 33 proto esp
ACCEPT udp  — anywhere anywhere udp dpt:isakmp



Chain IPSECOUTPUT (1 references)
target prot opt source destination
MARK all  — 172.16.0.0/16 192.168.80.0/24 policy match dir out pol ipsec reqid 36 proto esp MARK set 0x32



но теоретически если бы были проблемы с правилами, то я бы не получил ответ сеть недоступна...

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

С какой локалки , что у тебя локалка ?
Нарисуй схему.
Но я все таки еще раз тебе скажу о том что ipsec у тебя будет работать только с ip src подсети 172.16.0.0/16 .
Дальше фантазируй по тегам NAT и SNAT.

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

Хорошо,такой вопрос:

сейчас у меня есть полный доступ из orange(DMZ) в green0(локалка)..только какие адреса мне тогда указывать для NAT? нат из локалки в DMZ(так есть же доступ)...

Сори, может туплю...второй день головую ломаю..могу не видеть очевидных вещей..

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

Все бы ничего, можно и сразу в 5.0, но одно но...так нет никакой DMZ...если ломают remote net, тогда есть полный доступ к local net...так улетает вся идея dmz...или я не прав?

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

Если делать ipsec сразу в 192.168.5.0, то так же не участвует DMZ, все же идет в обход DMZ...

а по моей схеме ipsec идет в DMZ(172.16.0.0) и потом мне нужно прокинуть доступ из локалки в ipsec. Но у меня есть уже правило, которое разрешает все из DMZ(для тестов правило) в локалку. Я вижу DMZ из локалки без проблем... но когда пытаюсь достучаться до адреса ipsec 192.168.80.98 из локалки, то сеть недоступна и не мудрено - ведь трасерт идет сразу по неправильному пути...

kbu
() автор топика
Последнее исправление: kbu (всего исправлений: 1)
Ответ на: комментарий от kbu

у меня сейчас построена DMZ между двумя фаерволами, ipsec строится на внешнем фаерволе и трафик бежит правильно, из локалки на внутр интерфейс внутр. фаервола, потом на внутр интерфейс внешнего фаервола и потом в remote net...

я хочу избавиться от одного промужуточного звена..

в роутах внешнего фаервола стоит

192.168.80.0/24 via EXTERN IP dev ipsec0

но это IPCOP и там есть интерфейс ipsec...а в IPFire я прочитал что не требуется...но как тогда маршрутизить...

kbu
() автор топика
Последнее исправление: kbu (всего исправлений: 2)
Ответ на: комментарий от kbu

я не могу понять...тут конкретно проблема с маршрутом или все таки с правилами фаервола...?

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

Ну тогда на local net пишешь что REMOUTE NET via ip DMZ

ip r a REMOUTE_NET via DMZ_IP 
На DMZ делаешь SNAT ,
iptables -t NAT -I POSTROUTING -d remoute_network -j SNAT --to-source 172.16.10.254 
И разреши на DMZ форвардинг.

pyatak123
()
Последнее исправление: pyatak123 (всего исправлений: 2)
Ответ на: комментарий от pyatak123

x_tables: ip_tables: DNAT target: used from hooks POSTROUTING, but only usable from PREROUTING/OUTPUT



не дает добавить твое правило...

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

Все что идет через DMZ на remoute net разрешить

iptables -I FORWARD -s REMOUTE_IP -j ACCEPT
iptables -I FORWARD -d REMOUTE_IP -j ACCEPT 
, натить ты уже снатил, как я писал выше.

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

Большое спасибо, завтра буду пробовать переключать старые фаерволы на новый, посмотрим что получится..

Еще раз спасибо за помощь!

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

Спасибо тебе огромное!!!
Все правила помогли, у меня только уточняющие вопросы.

Безопасней ли будет сделать так:

iptables -A FORWARD -p icmp -j ACCEPT
iptables -A FORWARD -I FORWARD -j ACCEPT
iptables -A FORWARD -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT

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

1) Ты разрешаешь форвард icmp
2) Не понял , ты походу очепятался
3) Установленные соединения

Я так понимаю , до или полсе ты сделал iptables -P FORWARD DROP ?
Если да , то у тебя будет работать только ping.

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

Не заметил NEW в списке состояний.
Тогда , нет , это равносильно тому что я написал.

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

1) Правильно
2) iptables -A FORWARD -i orange0 -j ACCEPT
3) правильно, разрешать только те соединения, которые были установлены из локалки
а в конце iptables -P FORWARD DROP

Почему только пинг?Если я делаю соединение на RDP например, то по второму правилу должны летать все пакеты(которые я установил сам)...или я не прав?

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

3) Но там же стоят флаги state --state NEW,RELATED,ESTABLISHED ...

по идеи, если кто-то извне захочет без моего согласия установить соединение со мной(локалкой), то это просто не проканает..

opennet дает такие примеры:



[0:0] -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
[0:0] -A FORWARD -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
[0:0] -A FORWARD -i eth1 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
[0:0] -A OUTPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT



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

или я опять не прав?

Просто хочу сделать сразу по уму..

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

Ты не прав в том что не разобрался что такое NEW,RELATED,ESTABLISHED . Ты у себя написал

iptables -A FORWARD -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT 
Я переведу «разрешить форвардить ЗАПРОСЫ НА НОВЫЕ СОЕДИНЕНИЯ, УСТАНОВЛЕННЫЕ, И ТЕ КОТОРЫЕ ФОРКНУЛИСЬ ОТ УСТАНОВЛЕННЫХ. Ключевой момент в том, что из других состояний остались только INVALID. Короче ты разрешил все. Как сделать по уму я тебе уже выше написал. Можешь еще сделать привязку к src ip , что то типа
iptables -I FORWARD -d REMOUTE_IP -s SRC_IP -j ACCEPT
iptables -I FORWARD -s REMOUTE_IP -d SRC_IP -j ACCEPT

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

Ок, большое спасибо за помощь!!!Очень благодарен!!!

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