Я чувствую себя немного глупо, потому что эта, казалось бы, простая задача полностью ставит меня в тупик.
У меня 3 ПК: клиент, шлюз и сервер.
Клиенту необходимо подключиться к серверу через шлюз.
Оба ПК подключены к шлюзу с помощью перекрестных кабелей.
Каждому интерфейсу присвоены статические IP-адреса.
Client:eth1 ip : 192.168.138.1\24 gateway 192.168.138.254 Gateway eth4 ip 192.168.138.254\24 gateway 192.168.138.1 Gateway eth1 ip 192.168.137.254\24 gateway 192.168.137.1 Server eth0 ip 192.168.137.1\24 gateway 192.168.137.254
Клиент может пинговать шлюзы eth4 и eth1, сервер может пинговать шлюзы eth4 и eth1, но клиент не может пинговать сервер.
Шлюз может пинговать все.
Сначала я подумал, что мне нужно вставить статические маршруты на клиент и сервер, но это не помогло, и теперь я думаю, что, поскольку они могут пинговать интерфейс шлюза в другой сети, в этом нет необходимости?
Вы включили IP-маршрутизацию?
$ cat /proc/sys/net/ipv4/ip_forward
1
Если на выходе «0», то вам нужно включить его:
$ sudo sysctl -w net.ipv4.ip_forward=1
Измените настройку в /etc/sysctl.conf
сделать это стойким.
Итак, client1 попадает в свой шлюз на 138.254, который переходит на 138.1 обратно себе? ...
Клиент: eth1 ip: 192.168.138.1 \ 24 *
шлюз 192.168.138.254
Шлюз eth4 ip 192.168.138.254 \ 24
шлюз 192.168.138.1 *