Ip forwarding, с eth1 переложить пакет на eth0

Аватар пользователя u87

Собственно:

компьютер:
eth0 c 192.168.253.105/26
eth1 c 192.168.85.2/28

пинг на 192.168.253.65 и 192.168.85.1 идёт,

смотрю дамп
на eth1 приходит пакет от 192.168.85.1 с адресом назначения 192.168.253.65
в это же время на eth0 тишина.

что проверить, что показать?

p/s если тему неправильно назвал, то исправьте, если возможно.

Аватар пользователя IsakovAN

ip forwarding, с eth1 переложить пакет на eth0

Покажите "route", "iptables-save" и "sysctl -a | grep -i forwarding"

Аватар пользователя u87

Re: ip forwarding, с eth1 переложить пакет на eth0

[root@theasplinux ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.85.0    *               255.255.255.240 U     0      0        0 eth1
192.168.253.64  *               255.255.255.192 U     0      0        0 eth0
169.254.0.0     *               255.255.0.0     U     0      0        0 eth1
default         192.168.253.65  0.0.0.0         UG    0      0        0 eth0
[root@theasplinux ~]# iptables-save
[root@theasplinux ~]# sysctl -a |grep -i forwarding
net.ipv4.conf.eth1.mc_forwarding = 0
net.ipv4.conf.eth1.forwarding = 1
net.ipv4.conf.eth0.mc_forwarding = 0
net.ipv4.conf.eth0.forwarding = 1
net.ipv4.conf.default.mc_forwarding = 0
net.ipv4.conf.default.forwarding = 1
net.ipv4.conf.all.mc_forwarding = 0
net.ipv4.conf.all.forwarding = 1
net.ipv4.conf.lo.mc_forwarding = 0
net.ipv4.conf.lo.forwarding = 1

iptables-save - это фаерволл, который мне не надо, или надо?

Аватар пользователя IsakovAN

ip forwarding, с eth1 переложить пакет на eth0

u87 писал(а):
смотрю дамп
на eth1 приходит пакет от 192.168.85.1 с адресом назначения 192.168.253.65

tcpdump?
Маршруты вроде впорядке. Файервол отключен. Forwarding разрешен.
А 192.168.253.65 знает куда отправлять пакеты для 192.168.85.1? Если нет, то нужно SNAT на файерволе поднять.

Аватар пользователя u87

Re: ip forwarding, с eth1 переложить пакет на eth0

Цитата:
tcpdump?

Да, tcpdump -i eth0 (eth1)

Цитата:
А 192.168.253.65 знает куда отправлять пакеты для 192.168.85.1?

Это провайдерский шлюз, и он знает только своё. Но вопрос сейчас в другом, как мне кажется. По-моему, моему линуху по-барабану, кто и что о нём знает, если есть подходящий маршрут пакет он должен отправить.. Хотя..?

Цитата:
Маршруты вроде впорядке. Файервол отключен. Forwarding разрешен.

Вот, да. Ничего не мешает. Как я понял, этим занимается ядро (кроме случая динамической маршрутизации там какой-то gated нужен), если оно скомпилированно с поддержкой чего-то. А вот чего и как проверить я не знаю.

p/s При установке я выбрал минимальную конфигурацию.

Аватар пользователя IsakovAN

ip forwarding, с eth1 переложить пакет на eth0

u87 писал(а):
Да, tcpdump -i eth0 (eth1)

Ну допустим. а как система реагирует на этот пакет? ICMP назад не отправляет? Или просто DROPает? Тогда firewall должен работать.

Аватар пользователя u87

Re: ip forwarding, с eth1 переложить пакет на eth0

Цитата:
ICMP назад не отправляет? Или просто DROPает

Хы. А как это выяснить. Уменя вот что есть:

win = 192.168.85.1

[root@theasplinux ~]# tcpdump -i eth1 port not ssh
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 96 bytes
19:40:11.079679 IP win > 192.168.253.1: icmp 40: echo request seq 48385
19:40:16.580039 IP win > 192.168.253.1: icmp 40: echo request seq 48641
19:40:22.072737 IP win > 192.168.253.1: icmp 40: echo request seq 48897

3 packets captured
3 packets received by filter
0 packets dropped by kernel

на eth0 при этом ничего подобного нет.

Аватар пользователя IsakovAN

Re: ip forwarding, с eth1 переложить пакет на eth0

u87 писал(а):
на eth0 при этом ничего подобного нет.

Ба-а-алин! И не должно быть.
Поднял виртуальную машину и провел опыты:
1. Из виртуальной машины пропинговал свой IP на tap0(к ней подключена виртуальная машина) - все проходит. На tap пакеты есть на eth0 естественно нет.
2. Пропинговал IP шлюза провайдера(оный шлюз НЕ ЗНАЕТ как отправлять пакеты назад) так что обратный пинг НЕ ДОЛЖЕН прийти. На tap0 пакеты есть, на eth0 - тишина. Аналогично тому что у вас!
3. Пропинговал свой внешний IP(IPшник на интерфейсе eth0). Пинг должен проходить, т.к. мой комп знает как доставить обратный пакет. На tap0 пакеты есть, на eth0 - НЕТ. Пинг ПРОХОДИТ!

Вывод: tcpdump, видимо, показывает только те пакеты, которые появились на этом интерфейсе. Т.е. ТРАНЗИТНЫЕ пакеты отображаються только один раз. На том интерфейсе С КОТОРОГО они пришли.
Вывод №2: вам надо настроить iptables на SNAT(подмена исходных адресов исходящих пакетов). Поищите на форуме, недавно была ссылка на хорошую статью по iptables.

Аватар пользователя u87

Re: ip forwarding, с eth1 переложить пакет на eth0

Н-да.Такой подставы от tcpdump я не ожидал. Кстати, оказалось, что 192.168.85.1 - ip одного из серверов внутри сети провайдера, так что мой шлюз (192,168,253,65) отправлял ответы не мне, а в далёкие дали (трассировка показала 10 хопов, представляю, как там удивились, ржу не могу) ),

а дальше уже из спортивного интереса сделал следущее:
шлюз даёт подсеть 192.168.253.64/26, я её себе поделил так
на етх0(смотрит во внешку) 192.168.253.66/27, а на етх1 192.168.253.97/27
на машине, подключенной к етх1 назначил 192.168.253.98 и стал с неё пинговать 192.168.253.1 в дампе увидел примерно следующее:
уходит ехо запрос, а в ответ
arp who-has 192.168.253.98 tell 192.168.253.1
и возник вопрос: как бы ему на это отправить МАС с етх0? но, это так..

Могли бы вы ответить, что за tap0 ? кто его создаёт и за чем, какие протоколы его используют? гугль невнятными путями ведёт к pppoe..

Аватар пользователя IsakovAN

ip forwarding, с eth1 переложить пакет на eth0

u87 писал(а):
а дальше уже из спортивного интереса сделал следущее:
шлюз даёт подсеть 192.168.253.64/26, я её себе поделил так
на етх0(смотрит во внешку) 192.168.253.66/27, а на етх1 192.168.253.97/27
на машине, подключенной к етх1 назначил 192.168.253.98 и стал с неё пинговать 192.168.253.1 в дампе увидел примерно следующее:
уходит ехо запрос, а в ответ
arp who-has 192.168.253.98 tell 192.168.253.1
и возник вопрос: как бы ему на это отправить МАС с етх0? но, это так..

ifconfig eth0:1 192.168.253.98

u87 писал(а):
Могли бы вы ответить, что за tap0 ? кто его создаёт и за чем, какие протоколы его используют? гугль невнятными путями ведёт к pppoe..

Виртуальный интерфейс. Используется для тунелирования(VPMы) и для комуникации с виртуальными машинами. Управляется tunctl
http://user-mode-linux.sourceforge.net/

Аватар пользователя Subj

Re: ip forwarding, с eth1 переложить пакет на eth0

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.85.0/28 --out-interface eth0 -j SNAT --to-source 192.168.253.105

service iptables restart
chkconfig iptables on
service iptables save

Мож как нить так сделать (ессно правило и цепочки для INPUT поменять потом желательно)?
Или просто FORWARD прописать (но поскольку eth0 смотрит в интернет то надо натить)

RSS-материал