Я решил заменить компьютер, выполняющий роль интернет-шлюза в домашней сети. На новый компьютер поставил систему MX Linux 19.3 (дистрибутив на основе Debian 10). В компьютере имеются две сетевые карты:# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.250 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::2284:e52d:880a:904d prefixlen 64 scopeid 0x20<link>
ether 18:c0:4d:08:eb:53 txqueuelen 1000 (Ethernet)
RX packets 33707 bytes 2767464 (2.6 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1262 bytes 183678 (179.3 KiB)
TX errors 13 dropped 0 overruns 0 carrier 0 collisions 0eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.2 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::fe76:af03:3d68:6a3f prefixlen 64 scopeid 0x20<link>
ether 50:3e:aa:10:b6:a3 txqueuelen 1000 (Ethernet)
RX packets 58631 bytes 70399675 (67.1 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 61103 bytes 4418094 (4.2 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
...
...
...eth0 смотрит в локальную сеть, а eth1 -- в интернет через гейтвей 192.168.1.254:
# netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.1.254 0.0.0.0 UG 0 0 0 eth1
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.3.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0Я отредактировал файл /etc/sysctl.conf таким образом:
net.ipv4.ip_forward=1
и проверил, что это работает:
# cat /proc/sys/net/ipv4/ip_forward
1Когда я пингую с компьютера 192.168.0.79, подключенного к eth0 адреса 192.168.0.250 (eth0) и 192.168.1.2 (eth1), все нормально, я получаю отклик. Но при попытке пинговать адрес 192.168.1.254, к которому подключена eth1, я получаю: "Destination Host Unreachable"
Файерволл полностью открыт:# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destinationChain FORWARD (policy ACCEPT)
target prot opt source destinationChain OUTPUT (policy ACCEPT)
target prot opt source destinationЧто можно сделать, чтобы форвардинг заработал?
> Что можно сделать, чтобы форвардинг заработал?а форвардинг, внезапно, работает
а нат кто настраивать будет? Пушкин?
> а форвардинг, внезапно, работает
Для того, чтобы достучаться до адреса 192.168.1.254 должно быть достаточно:
Chain FORWARD (policy ACCEPT)
или я не прав?> а нат кто настраивать будет? Пушкин?
Это следующий шаг. Когда буду настраивать файервол добавлю в POSTROUTING MASQUERADE
Пока же недоступен сам гейтвей, имеющий адрес 192.168.1.254. Для него построутинг не нужен.
>> а форвардинг, внезапно, работает
> Для того, чтобы достучаться до адреса 192.168.1.254 должно быть достаточно:Пакет может быть и дойдет, а вот шлюз 192.168.1.254 ничего не знает о расположении 192.168.0.79.
Вы хоть прочитали книжечки о CCNA ?
>>> а форвардинг, внезапно, работает
>> Для того, чтобы достучаться до адреса 192.168.1.254 должно быть достаточно:
> Пакет может быть и дойдет, а вот шлюз 192.168.1.254 ничего не знает
> о расположении 192.168.0.79.
> Вы хоть прочитали книжечки о CCNA ?не смог пpoкpoдилить мимо:
по ОРАКЛЕ - на sql,
а тут да, форум cyгyбо по Koшкaм !
>[оверквотинг удален]
> 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
> Что можно сделать, чтобы форвардинг заработал?net.ipv4.conf.all.forwarding = 1
net.ipv4.conf.default.forwarding = 1
Нынче это на кажном интерфейсе ставится.и проверть
sysctl net.ipv4.conf | grep "\.forwarding"
Моя вина. Второй раз делаю одну и ту же ошибку (правда, в первый раз до поста в форум не дошло, сам допер).
После добавления в файервол строчки:/sbin/iptables -t nat -A POSTROUTING -o $INET_IFACE -j MASQUERADE
все заработало. Тема закрыта.
> Моя вина. Второй раз делаю одну и ту же ошибку (правда, в
> первый раз до поста в форум не дошло, сам допер).
> После добавления в файервол строчки:
> /sbin/iptables -t nat -A POSTROUTING -o $INET_IFACE -j MASQUERADEНеужели!
Разобралисль в роутинге и наконец-то поняли, что нужно NAT включить!
> Когда я пингую с компьютера 192.168.0.79, подключенного к eth0 адреса 192.168.0.250 (eth0)
> и 192.168.1.2 (eth1), все нормально, я получаю отклик. Но при попытке
> пинговать адрес 192.168.1.254, к которому подключена eth1, я получаю: "Destination Host
> Unreachable"Знает ли 192.168.1.254 о сети 192.168.0.0/24? Если нет - надо или рассказать ему о ней, или настроить NAT/PAT.
>[оверквотинг удален]
> 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
> Что можно сделать, чтобы форвардинг заработал?Можно сравнить настройки фаервола на старой машине и попытаться перенести недостающее/необходимое на новую.