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 ★★★
() автор топика

реквестирую схему сетей

fbiagent ★★★
()
Ответ на: комментарий от 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 ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.