Я работаю над одним ящиком Linux. Я хочу что-то подобное.
сеть ---> wlan0 ----> eth0 -> другой сервер.
Интерфейсы wlan0 и eth0 находятся внутри одного Linux-сервера. Я использую dhcp, который назначает что-то вроде 192.168.3.21 моему интерфейсу wlan0. Я назначаю статический IP-адрес, скажем, 192.168.3.101 моему интерфейсу eth0 и 192.168.3.102 другому серверу. Теперь я хочу выполнить эхо-запрос из сети (192.168.3.XX) на другой сервер по адресу 192.168.3.102 и мой eth0 на 192.168.3.101. Я не могу этого сделать.
Я даже не могу пинговать свой другой сервер по адресу 192.168.3.102 из своего Linux-сервера.
Я включил переадресацию ip с помощью команды "echo 1> / proc / sys / net / ipv4 / ip_forward".
Я также использовал следующую команду, чтобы включить переадресацию nat.
iptables -A FORWARD -i wlan0 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -o wlan0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Я все еще не могу пинговать.
Пожалуйста, дайте мне знать, что мне не хватает. Мы будем очень благодарны за любую помощь.
Вот результат iptables-save: -
# Generated by iptables-save v1.6.0 on Mon Feb 19 10:17:54 2018
*raw
:PREROUTING ACCEPT [481:39595]
:OUTPUT ACCEPT [325:24634]
COMMIT
# Completed on Mon Feb 19 10:17:54 2018
# Generated by iptables-save v1.6.0 on Mon Feb 19 10:17:54 2018
*nat
:PREROUTING ACCEPT [1:229]
:INPUT ACCEPT [1:229]
:OUTPUT ACCEPT [1:76]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -o wlan0 -j MASQUERADE
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
# Completed on Mon Feb 19 10:17:54 2018
# Generated by iptables-save v1.6.0 on Mon Feb 19 10:17:54 2018
*mangle
:PREROUTING ACCEPT [482:39927]
:INPUT ACCEPT [474:38801]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [325:24634]
:POSTROUTING ACCEPT [325:24634]
COMMIT
# Completed on Mon Feb 19 10:17:54 2018
# Generated by iptables-save v1.6.0 on Mon Feb 19 10:17:54 2018
*filter
:INPUT ACCEPT [63:6229]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1:76]
-A FORWARD -i wlan0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Mon Feb 19 10:17:54 2018
Вот мой вывод для IP-маршрута: -
по умолчанию через 192.168.0.1 dev wlan0 metric 10 192.168.0.0/24 dev wlan0 proto kernel scope link src 192.168.0.190 192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.235
Чтобы соединить две разные сети, нужно использовать мост, как показано ниже:
brctl addbr br0
brctl addif eth0
brctl addif wan0
ifconfig eth0 0.0.0.0 promisc up
ifconfig wan0 0.0.0.0 promisc up
ifconfig br0 10.0.1.1 netmask 255.255.255.0 broadcast 10.0.1.255
Если вы хотите иметь маршрутизатор с двумя интерфейсами они должны находиться в разных подсетях (например, 192.168.0.0/24 отличается от 192.168.5.0/24). У вас здесь конфликт, это видно в вашем ip route
, это не сработает.
Если вы хотите использовать одну и ту же подсеть на обоих интерфейсах, это не маршрутизатор, а двухпортовый коммутатор, который обычно называют мост.