ip.route iptable не работает

|--------------|          |--------------|          |--------------|
|  computer A  |      eth0|  computer B  |          |  computer C  |internet
|  (10.5.0.2)  |----------|  (10.5.0.1)  |          |  (x.x.x.x)   |--------
|              |          |              |          |         ^    |
|              |          |     NAT |    |          |    NAT  |    |
|              |          |         ˇ    | tun0     |              |
|              |          |  (10.8.0.14) |----------|  (10.8.0.1)  |
|--------------|          |--------------|          |--------------|

Вот схема сети, которую я построил.
Моя проблема в том, что я пытаюсь настроить NAT на компьютере B
'баш корень @ компьютерB # cat / proc / sys / net / ipv4 / ip_forward 1

root@computerB# iptables-save 
*nat
:PREROUTING ACCEPT [13:1108]
:INPUT ACCEPT [10:600]
:OUTPUT ACCEPT [6708:457650]
:POSTROUTING ACCEPT [5782:389727]
-A POSTROUTING -o wlan0 -j MASQUERADE
COMMIT
# Completed on Sat Apr 27 23:56:29 2019
# Generated by iptables-save v1.6.0 on Sat Apr 27 23:56:29 2019
*filter
:INPUT ACCEPT [1235765:1640284761]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [759264:248481682]
-A FORWARD -i eth0 -j ACCEPT
COMMIT
# Completed on Sat Apr 27 23:56:29 2019
  • когда я хочу пинговать 10.5.0.1 с компьютера А, это работает
  • когда я хочу пинговать 10.8.0.14 с компьютера А, это работает
  • когда я хочу пинговать 10.8.0.1 с компьютера А, он не работает
    Я беру своего друга wirehark и начинаю слушать tun0. Я вижу такие пакеты

    Нет. время информация о длине протокола источника назначения для Mac 285 106.310258 Н / Д 10.5.0.2 10.8.0.1 ICMP 84 Идентификатор запроса эхо (ping) = 0x8114, seq = 0/0, ttl = 63 (ответа не найдено!)

Я не понимаю, почему я получаю ip 10.5 .0.2 на интерфейсе tun0

-1
задан 28 April 2019 в 14:18
1 ответ

Как объясняется в комментариях, вам не следует использовать NAT здесь. Вам следует использовать только обычную IP-маршрутизацию.

Однако, чтобы решить проблему с NAT, измените

-A POSTROUTING -o wlan0 -j MASQUERADE

на

-A POSTROUTING -o tun0 -j MASQUERADE

в ваших правилах IPTables.

0
ответ дан 5 December 2019 в 20:16

Теги

Похожие вопросы