человечность iptables NAT & Router & Port Forwarding

Я хотел бы передать ssh порт от человечности-fw (брандмауэр) к человечности-server1.

| Интернет |---| Маршрутизатор (аппаратные средства) |---| человечность-fw |----| человечность-server1 |

Маршрутизатор (аппаратные средства): поле неисправности

человечность-fw: человечность 16, служащая брандмауэром

человечность-server1: человечность 16, служащая ssh сервер

Маршрутизатор (аппаратные средства) вперед порт к человечности-fw. Однако в тестовых целях, я поместил промежуточный компьютер:

| тестовый ПК |---| человечность-fw |----| человечность-server1 |

Теперь я хотел бы получить доступ от тестового ПК до моей человечности-server1 через человечность-fw при помощи:

ssh myuser@ubuntu-server1

Топология сети следующие:

тестовый ПК: 192.168.183.253/24

человечность-fw: eth0: 192.168.0.254/24 и eth2: 192.168.183.254/24

сервер человечности: 192.168.0.16/24

Мой вопрос состоит в том, как я должен передать порт 22 в человечности-fw?

Я позволил направить:

$ sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1

Я также создал правило, которое позволяет человечности-server1 соединяться с Интернетом с помощью человечности-fw в качестве NAT. Это хорошо работает. Но я перестал работать, когда я хочу передать порт 22 человечности-server1.

Для генерации iptables-сценария, я использую fwbuilder.

Я создал туземное правило, приводящее к (после компиляции): Изображение fwbuilder правила NAT

$IPTABLES -t nat -A PREROUTING -p tcp -m tcp   -d 192.168.183.254  --dport 22 -j DNAT --to-destination 192.168.0.16

и я создал политику, приводящую к (после компиляции): Изображение fwbuilder политики

$IPTABLES -A FORWARD -i eth2  -p tcp -m tcp  -d 192.168.0.16   --dport 22  -m state --state NEW  -j ACCEPT

Когда я пытаюсь установить соединение от тестового ПК, я вижу:

ssh: connect to host 192.168.183.254 port 22: Connection timed out

У кого-либо есть идея, что я делаю неправильно?

Вот вывод iptables-v-x-n-L

Chain INPUT (policy DROP 417 packets, 49211 bytes)
    pkts      bytes target     prot opt in     out     source               destination         
   28201  2294981 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
       1       60 In_RULE_1  tcp  --  eth0   *       192.168.0.0/24       192.168.0.254        tcp dpt:22 state NEW
       0        0 In_RULE_2  tcp  --  eth0   *       192.168.0.0/24       0.0.0.0/0            tcp multiport dports 21,80,443 state NEW
       0        0 In_RULE_5  all  --  eth2   *       0.0.0.0/0            192.168.183.254     

Chain FORWARD (policy DROP 0 packets, 0 bytes)
    pkts      bytes target     prot opt in     out     source               destination         
    3071  2805588 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
       2      104 In_RULE_2  tcp  --  eth0   *       192.168.0.0/24       0.0.0.0/0            tcp multiport dports 21,80,443 state NEW
       7      420 ACCEPT     tcp  --  eth2   *       0.0.0.0/0            192.168.0.16         tcp dpt:22 state NEW

Chain OUTPUT (policy DROP 8 packets, 480 bytes)
    pkts      bytes target     prot opt in     out     source               destination         
   15619 310844265 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
       0        0 Out_RULE_0  tcp  --  *      eth2    192.168.183.254      0.0.0.0/0            tcp multiport dports 80,443 state NEW

Chain In_RULE_1 (1 references)
    pkts      bytes target     prot opt in     out     source               destination         
       1       60 LOG        all  --  *      *       0.0.0.0/0            0.0.0.0/0            LOG flags 0 level 6 prefix "RULE 1 -- ACCEPT "
       1       60 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           

Chain In_RULE_2 (2 references)
    pkts      bytes target     prot opt in     out     source               destination         
       2      104 LOG        all  --  *      *       0.0.0.0/0            0.0.0.0/0            LOG flags 0 level 6 prefix "RULE 2 -- ACCEPT "
       2      104 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           

Chain In_RULE_5 (1 references)
    pkts      bytes target     prot opt in     out     source               destination         
       0        0 LOG        all  --  *      *       0.0.0.0/0            0.0.0.0/0            LOG flags 0 level 6 prefix "RULE 5 -- DENY "
       0        0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0           

Chain Out_RULE_0 (1 references)
    pkts      bytes target     prot opt in     out     source               destination         
       0        0 LOG        all  --  *      *       0.0.0.0/0            0.0.0.0/0            LOG flags 0 level 6 prefix "RULE 0 -- ACCEPT "
       0        0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0 

И вывод sudo iptables-t туземный-v-x-n-L:

Chain PREROUTING (policy ACCEPT 1049 packets, 207739 bytes)
    pkts      bytes target     prot opt in     out     source               destination         
       1       60 DNAT       tcp  --  *      *       0.0.0.0/0            192.168.183.254      tcp dpt:22 to:192.168.0.16

Chain INPUT (policy ACCEPT 3 packets, 180 bytes)
    pkts      bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 22 packets, 1308 bytes)
    pkts      bytes target     prot opt in     out     source               destination         

Chain POSTROUTING (policy ACCEPT 1 packets, 60 bytes)
    pkts      bytes target     prot opt in     out     source               destination         
       2      104 SNAT       all  --  *      eth2    192.168.0.0/24       0.0.0.0/0            to:192.168.183.254

Так как у меня есть много других политик добавить, я хотел бы использовать fwbuilder-также для правила NAT.

Вот вывод tcpdump sudo tcpdump -n -tttt -i eth2 port 22:

2017-04-21 20:07:01.745154 IP 192.168.183.253.33774 > 192.168.183.254.22: Flags [S], seq 2118693960, win 29200, options [mss 1460,sackOK,TS val 84033839 ecr 0,nop,wscale 6], length 0
2017-04-21 20:07:02.745098 IP 192.168.183.253.33774 > 192.168.183.254.22: Flags [S], seq 2118693960, win 29200, options [mss 1460,sackOK,TS val 84034089 ecr 0,nop,wscale 6], length 0
2017-04-21 20:07:04.747111 IP 192.168.183.253.33774 > 192.168.183.254.22: Flags [S], seq 2118693960, win 29200, options [mss 1460,sackOK,TS val 84034590 ecr 0,nop,wscale 6], length 0
2017-04-21 20:07:08.756022 IP 192.168.183.253.33774 > 192.168.183.254.22: Flags [S], seq 2118693960, win 29200, options [mss 1460,sackOK,TS val 84035592 ecr 0,nop,wscale 6], length 0
2017-04-21 20:07:16.767457 IP 192.168.183.253.33774 > 192.168.183.254.22: Flags [S], seq 2118693960, win 29200, options [mss 1460,sackOK,TS val 84037596 ecr 0,nop,wscale 6], length 0
2017-04-21 20:07:32.778145 IP 192.168.183.253.33774 > 192.168.183.254.22: Flags [S], seq 2118693960, win 29200, options [mss 1460,sackOK,TS val 84041600 ecr 0,nop,wscale 6], length 0
2017-04-21 20:08:04.829078 IP 192.168.183.253.33774 > 192.168.183.254.22: Flags [S], seq 2118693960, win 29200, options [mss 1460,sackOK,TS val 84049616 ecr 0,nop,wscale 6], length 0

и от sudo tcpdump -n -tttt -i eth0 port 22 | grep -v 192.168.0.47 (на самом деле 192.168.0.47 мой использующий компьютеры ssh к 192.168.183.254 и 192.168.183.253 использованиям другого маршрутизатора к этой сети),

    2017-04-21 20:07:01.745195 IP 192.168.183.253.33774 > 192.168.0.16.22: Flags [S], seq 2118693960, win 29200, options [mss 1460,sackOK,TS val 84033839 ecr 0,nop,wscale 6], length 0
2017-04-21 20:07:02.745136 IP 192.168.183.253.33774 > 192.168.0.16.22: Flags [S], seq 2118693960, win 29200, options [mss 1460,sackOK,TS val 84034089 ecr 0,nop,wscale 6], length 0
2017-04-21 20:07:04.747139 IP 192.168.183.253.33774 > 192.168.0.16.22: Flags [S], seq 2118693960, win 29200, options [mss 1460,sackOK,TS val 84034590 ecr 0,nop,wscale 6], length 0
2017-04-21 20:07:08.756068 IP 192.168.183.253.33774 > 192.168.0.16.22: Flags [S], seq 2118693960, win 29200, options [mss 1460,sackOK,TS val 84035592 ecr 0,nop,wscale 6], length 0
2017-04-21 20:07:16.767486 IP 192.168.183.253.33774 > 192.168.0.16.22: Flags [S], seq 2118693960, win 29200, options [mss 1460,sackOK,TS val 84037596 ecr 0,nop,wscale 6], length 0
2
задан 21 April 2017 в 21:11

1 ответ

Я мог решить проблему. Я сделал ошибку в таблице маршрутизации цели (192.168.0.16). Изменение шлюза на этой машине заставляет перенаправление портов работать.

0
ответ дан 2 December 2019 в 09:08

Другие вопросы по тегам:

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