2

У меня есть коммерческий кабельный модем под управлением Tomato 1.28 от Shibby. В настоящее время статический IP-адрес назначен через DHCP и работает нормально. Мне были назначены дополнительные маршрутизируемые IP-адреса, но они находятся в другой подсети.

**WAN**
addr:1.2.3.10  Bcast:1.2.3.255  Mask:255.255.255.0 
**LAN**
inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0 

**Additional WAN block info:**
Network:        2.2.3.120/29
Subnet Mask:    255.255.255.248
Start:          2.2.2.121
End:            2.2.2.126

Я планирую назначить новые 5 адресов хостам 192.168.1.x и затем сопоставить их с публичными адресами.

**LAN**            **WAN** 
192.168.1.121 ->  2.2.2.121
192.168.1.122 ->  2.2.2.122
...
192.168.1.126 ->  2.2.2.126

Это должно быть сделано с правилами брандмауэра или статическими маршрутами?

Инструкции от интернет-провайдера: ... вы заявили, что будете маршрутизировать свой дополнительный блок, вот основной пример того, что нужно сделать с вашим оборудованием

Маршрутизация: мне нужно, чтобы вы настроили IP из этого блока на ВНУТРЕННИЙ интерфейс; Я бы предложил использовать первый пригодный для использования IP 2.2.2.121. Этот IP будет тогда действовать как шлюз для трафика подсетей.

1 ответ1

1

Это должно быть сделано с правилами брандмауэра или статическими маршрутами?

Если под статическими маршрутами вы имеете в виду пакет iproute2, то вы правы, это можно сделать обоими способами, и я до сих пор не смог ощутить разницу в производительности.

NIC будет принимать трафик UNICAST только при двух обстоятельствах:

  1. У него есть IP-адрес, на который направляется трафик UNICAST;

  2. Это в беспорядочном режиме.

Беспорядочный режим считается угрозой безопасности. Таким образом, вы должны назначить новый набор общедоступных IP-адресов для порта WAN на вашем маршрутизаторе.

Опция NETFILTER

Вы можете перенаправить весь трафик на соответствующий компьютер с помощью этой единственной команды iptables :

 iptables -t nat -A PREROUTING -d 2.2.2.121 -j DNAT --to-destination 192.168.1.121

но это оставляет небольшую дыру: netfilter NAT не заставляет ядро отвечать на запросы ARP для NAT-IP, см. здесь. Поэтому я предлагаю вам использовать два перенаправления следующим образом:

 iptables -t nat -A PREROUTING -d 2.2.2.121 -p tcp -j DNAT --to-destination 192.168.1.121
 iptables -t nat -A PREROUTING -d 2.2.2.121 -p udp -j DNAT --to-destination 192.168.1.121

Это не перенаправляет трафик не TCP/UDP, поэтому трафик ICMP/ARP достигает ядра маршрутизатора, который действует соответственно.

Аналогично для других ваших IP-адресов и серверов.

опция iproute2

Таким образом, вы вообще не трогаете iptables , и трафик ARP правильно учитывается. Команды для выдачи:

 ip route add nat 2.2.2.121 via 192.168.1.121
 ip rule add nat 2.2.2.121 from 192.168.1.121

Первое правило применяется к входящему трафику, второе - к внешнему трафику. Первое правило перенаправляет трафик на ваш локальный сервер, переписывая адрес назначения. Второе правило переписывает исходный адрес, чтобы он выглядел так, как будто ответ исходит от общедоступного IP-адреса 2.2.2.121 вместо локального IP-адреса 192.168.1.121.

Наслаждаться. И, кстати,

В настоящее время статический IP-адрес назначен через DHCP и работает нормально.

что это значит???

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .