Назад | Перейти на главную страницу

Как я могу пропинговать через разные интерфейсы (подсети) без использования маршрутизатора?

У меня большая проблема с этим вопросом.

Я хочу иметь возможность пинговать и получать доступ к TFTP через мой интерфейс WIFI (wlan0) через проводной интерфейс (eth0)

pc1_eth-> LTdhcps2_eth0-> LTdhcps2_wlan0-> pc2_wlan

и наоборот

pc2_wlan-> LTdhcps2_wlan0-> LTdhcps2_eth0-> pc1_eth

Сначала я подумал, что это будет просто, потому что я предполагал, что мне нужно только установить шлюз моего eth0 с моим IP-адресом wlan0.

Я был неправ, я не смог этого сделать.

Пусть начинается боль ..

1) Я думаю, что конфигурация от pc1 и pc2 не работает, потому что она включает только интерфейсы LTdhcps2, я прав?

Сервер LTdhcps2

Eth0

cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
#allow-hotplug eth0
#iface eth0 inet dhcp

auto eth0
iface eth0 inet static
    address 192.168.2.10
    netmask 255.255.255.0

WLAN0

DHCP настроен сетевым менеджером (я не мог понять, как его настроить с помощью wpa_supplicant)

После запуска сервисов

service network-manager start
service networking start

это результат

[root@LTdhcps2:~]# ifconfig 
eth0      Link encap:Ethernet  HWaddr 00:1e:c9:24:c9:d1  
          inet addr:192.168.2.10  Bcast:192.168.2.255  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:44 Base address:0xc000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:20 errors:0 dropped:0 overruns:0 frame:0
          TX packets:20 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1348 (1.3 KiB)  TX bytes:1348 (1.3 KiB)

wlan0     Link encap:Ethernet  HWaddr 00:24:2b:c7:74:7e  
          inet addr:10.0.2.218  Bcast:10.0.3.255  Mask:255.255.252.0
          inet6 addr: fe80::224:2bff:fec7:747e/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:24154 errors:0 dropped:0 overruns:0 frame:37468
          TX packets:677 errors:8 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1670308 (1.5 MiB)  TX bytes:140171 (136.8 KiB)
          Interrupt:19

[root@LTdhcps2:~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.1.2        0.0.0.0         UG    0      0        0 wlan0
10.0.0.0        0.0.0.0         255.255.252.0   U     0      0        0 wlan0
192.168.2.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0


[root@LTdhcps2:~]# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         10.0.1.2        0.0.0.0         UG        0 0          0 wlan0
10.0.0.0        0.0.0.0         255.255.252.0   U         0 0          0 wlan0
192.168.2.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0

что я пытался сделать.

[root@LTdhcps2:~]# route add -net 10.0.0.0 gw 10.0.2.218 dev eth0
SIOCADDRT: Invalid argument
[root@LTdhcps2:~]# 

Странная ошибка, ничего не значащая = | Я погуглил и нашел это сообщение: http://www.adminsehow.com/2011/09/gateway-on-a-different-subnet-on-linux/

он говорит, что вам нужно добавить хост с желаемым IP-адресом шлюза, потому что шлюз находится в другой подсети.

[root@LTdhcps2:~]# route add -host 10.0.2.218/32 dev eth0
[root@LTdhcps2:~]# route add default gw 10.0.2.218

(если я помещаю dev eth0 в конец второй команды), он дает SIOCADDRT: Нет такой ошибки процесса.

в результате:

[root@LTdhcps2:~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         10.0.2.218      0.0.0.0         UG    0      0        0 wlan0
default         10.0.1.2        0.0.0.0         UG    0      0        0 wlan0
10.0.0.0        *               255.255.252.0   U     0      0        0 wlan0
10.0.2.218      *               255.255.255.255 UH    0      0        0 eth0
192.168.2.0     *               255.255.255.0   U     0      0        0 eth0

[root@LTdhcps2:~]# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         10.0.2.218      0.0.0.0         UG        0 0          0 wlan0
0.0.0.0         10.0.1.2        0.0.0.0         UG        0 0          0 wlan0
10.0.0.0        0.0.0.0         255.255.252.0   U         0 0          0 wlan0
192.168.2.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0

Но мне не удалось выполнить ping / traceroute wlan0 с помощью интерфейса eth0 или его шлюза (10.0.1.2)

[root@LTdhcps2:~]# ping -I eth0 10.0.2.218
PING 10.0.2.218 (10.0.2.218) from 192.168.2.10 eth0: 56(84) bytes of data.
From 192.168.2.10 icmp_seq=1 Destination Host Unreachable
From 192.168.2.10 icmp_seq=2 Destination Host Unreachable

[root@LTdhcps2:~]# ping -I eth0 10.0.1.2
PING 10.0.1.2 (10.0.1.2) from 192.168.2.10 eth0: 56(84) bytes of data.
From 192.168.2.10 icmp_seq=1 Destination Host Unreachable
From 192.168.2.10 icmp_seq=2 Destination Host Unreachable

[root@LTdhcps2:~]# traceroute -i  eth0 10.0.2.218
traceroute to 10.0.2.218 (10.0.2.218), 30 hops max, 60 byte packets
 1  * * *
 2  * * *
 3  * * *
 4  * * *

Извините за длинный пост и плохой английский. Я столкнулся с этой проблемой на Страстной неделе = |

Решил вопрос.

ping -I interface или traceroute -i interface

Это не способ проверить, работает ли он, вам не нужно указывать интерфейс, потому что, если вы это сделаете, ядро ​​не использует таблицу маршрутов (я думаю).