LINUX.ORG.RU
ФорумAdmin

Linux как роутер


0

2

Добрый день.

В компе стоят две сетевухи, в одну приходит интернет, другая уходит в локалку.

В /proc/sys/net/ip4/ip_forwarding поставил единицу
В /etc/sysctl.conf поставил единиицу у ip_forwarding

Привожу ifconfig:

eth0      Link encap:Ethernet  HWaddr 00:17:31:4b:3d:3b  
          inet addr:213.33.159.43  Bcast:213.33.159.47  Mask:255.255.255.248
          inet6 addr: fe80::217:31ff:fe4b:3d3b/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1293 errors:0 dropped:0 overruns:0 frame:0
          TX packets:722 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:162483 (162.4 KB)  TX bytes:60514 (60.5 KB)
          Interrupt:17 Base address:0xd400 

eth1      Link encap:Ethernet  HWaddr 1c:bd:b9:87:5f:47  
          inet addr:213.33.159.42  Bcast:213.33.159.47  Mask:255.255.255.248
          inet6 addr: fe80::1ebd:b9ff:fe87:5f47/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3559 errors:0 dropped:8929145 overruns:0 frame:7339920
          TX packets:4322 errors:6 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:2795495 (2.7 MB)  TX bytes:1092032 (1.0 MB)
          Interrupt:21 Base address:0xcc00 

И ip ro ls

213.33.159.40/29 dev eth0  proto kernel  scope link  src 213.33.159.43  metric 1 
213.33.159.40/29 dev eth1  proto kernel  scope link  src 213.33.159.42  metric 1 
169.254.0.0/16 dev eth1  scope link  metric 1000 
default via 213.33.159.41 dev eth1  proto static 

eth1 - это мир, eth0 - локалка.

На роутере интернет работает, из мира пингуется. А вот eth0 (.43) не пигуется. Соответственно, компьютер в локальной сети у которого ip .44, а шлюз .43 не имеет выхода в интернет, однако пингует и 43, и 42.


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

Сейчас сменил роуты на такие:

zavulon vir # ip ro ls
169.254.0.0/16 dev eth1  scope link  metric 1000 
default via 213.33.159.41 dev eth1  proto static 
zavulon vir # route -n
Таблица маршутизации ядра протокола IP
Destination Gateway Genmask Flags Metric Ref Use Iface
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth1
0.0.0.0         213.33.159.41   0.0.0.0         UG    0      0        0 eth1

iptables пуст.

zavulon vir # 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
VirRaa
() автор топика
Ответ на: комментарий от VirRaa

Дополнительная инфа:

zavulon vir # ping ya.ru
PING ya.ru (87.250.250.203) 56(84) bytes of data.
64 bytes from www.yandex.ru (87.250.250.203): icmp_req=1 ttl=59 time=2.19 ms
64 bytes from www.yandex.ru (87.250.250.203): icmp_req=2 ttl=59 time=2.65 ms
^C
--- ya.ru ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 2.190/2.420/2.651/0.235 ms
zavulon vir # ping -I eth0 ya.ru
PING ya.ru (77.88.21.3) from 213.33.158.46 eth0: 56(84) bytes of data.
From 213.33.158.46 icmp_seq=1 Destination Host Unreachable
From 213.33.158.46 icmp_seq=2 Destination Host Unreachable
From 213.33.158.46 icmp_seq=3 Destination Host Unreachable
From 213.33.158.46 icmp_seq=4 Destination Host Unreachable
From 213.33.158.46 icmp_seq=5 Destination Host Unreachable
From 213.33.158.46 icmp_seq=6 Destination Host Unreachable
^C
--- ya.ru ping statistics ---
7 packets transmitted, 0 received, +6 errors, 100% packet loss, time 6014ms
pipe 4

Второй пинг, это попытка пропинговать от интерфейса, который направлен в локалку. То есть, такое впечатление, что не работает форвардинг.

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

> iptables настрой

Как это поможет, конкретно этому, делу?

В будущем, конечно, настрою.

VirRaa
() автор топика

Уже написали, но повторю более конкретно:

eth0 inet addr:213.33.159.43 Bcast:213.33.159.47 Mask:255.255.255.248

eth1 inet addr:213.33.159.42 Bcast:213.33.159.47 Mask:255.255.255.248



Такие адреса с такой маской недопустимы на разных интерфейсах роутера. Любого, а не Linux.

AS 👍
()
Ответ на: комментарий от sdio

> При таких адресах тебе мост (bridge) нужен, а не раутер.

А через роутер нельзя? В чём принципиальная разница?

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

VirRaa> В чём принципиальная разница?

В рабочих уровнях (по семиуровневой OSI модели)

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

разница в том, что нужно или делить выданную тебе подсеть или делать мост

Pinkbyte 👍
()
Ответ на: комментарий от VirRaa

>как посмотреть идёт ли траффик через меня?

man tcpdump

Pinkbyte 👍
()
Ответ на: комментарий от post-factum

Возможно ли теперь подсчитывать трафик по IP адресам, которые идут в интернет через меня? Каким софтом это проще всего сделать?

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

> 99%, что не идёт - нет необходимости.

Выяснил сначала опытным путём, что идёт, выключив роутер. Инет на другом компе пропал. Потом убедился ещё и с помощью tcpdump'a.

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

Каких результатов тут можно ждать. Изучите как работает маршрутизация. Уже ведь сказали вам что

Такие адреса с такой маской недопустимы на разных интерфейсах роутера. Любого, а не Linux.

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

> Каких результатов тут можно ждать. Изучите как работает маршрутизация. Уже ведь сказали вам что

Уважаемый, мост уже давно работает. И мы разговаривали про bandwidthd, который не сразу показывает графики, а спустя 5 минут, после того, как наберутся хоть какие-то данные.

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

> Выяснил сначала опытным путём, что идёт, выключив роутер. Инет на другом компе пропал.

Да, что-то я тут протормозил. Почему-то другая схема сети в голове была. Оно, даже, некоторым боком в NAT попадает, хотя это не очень логично.

AS 👍
()
Ответ на: комментарий от VirRaa

> Возможно ли теперь подсчитывать трафик по IP адресам, которые идут в интернет через меня?

Каким софтом это проще всего сделать ?


А вот тут, как раз, могут быть сложности. eth-интерфейсы, через которые трафик идёт на самом деле, уже в бридже, и там, по логике, IP-трафик снимать надо с распаковкой ethernet-фрейма, а что касается бриджа, то, опять же, по логике, пакеты идут мимо. Хм... Может я об этом думал, когда писал, что трафик не идёт ? ;-)

Если реально оно, даже, и работает, я бы на это закладываться не стал.

AS 👍
()
Ответ на: комментарий от VirRaa

Хотя, бридж уже работает, отвечу на вопрос:

А через роутер нельзя?

Можно и роутер, только нужно писать маршруты по особому («ip route» с опцией «on link»), и, возможно, будет нужно на внешнем интерфейсе «показать» ip-адреса через «ip neig add proxy IP-ADDR dev eth1».

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

> Можно и роутер, только нужно писать маршруты по особому («ip route» с опцией «on link»), и, возможно, будет нужно на внешнем интерфейсе «показать» ip-адреса через «ip neig add proxy IP-ADDR dev eth1».

До такого я ещё не дорос =)

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