Что такое kernel ip forwarding? связанный вопрос

Что такое kernel ip forwarding? связанный вопрос

Этот вопрос связан с ответом и комментарием вЧто такое переадресация IP-адресов ядра?

от @LawrenceC

пост1:

Таким образом, в приведенном выше примере, если у вас есть подключение к Интернету на сетевой карте 2, вы устанавливаете сетевую карту 2 в качестве маршрута по умолчанию, и тогда любой трафик, поступающий с сетевой карты 1, который не предназначен для чего-либо в сети 192.168.2.0/24, будет проходить через сетевую карту 2.

а также пост2:

Для этого интерфейсу, выходящему в Интернет (NIC 1 из приведенных выше) необходимо правило MASQUERADE в POSTROUTING iptables в цепочке. Смотрите revsys.com/writings/quicktips/nat.html

Вhttp://www.revsys.com/writings/quicktips/nat.htmlтам написано:

Затем вам нужно будет настроить iptables для пересылки пакетов из вашей внутренней сети на /dev/eth1 во внешнюю сеть на /dev/eth0.

/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
/sbin/iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
/sbin/iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

Почему я бы использовал FORWARD(согласнопост2) если пересылка уже сделана только путем установки ip_forward(согласнопост1):

echo 1 > /proc/sys/net/ipv4/ip_forward

решение1

Настройка ip_forwardразрешает пересылку пакетовв общем. Некоторые дистрибутивы Linux могут запрещать пересылку пакетов iptablesпо соображениям безопасности, например, если ip_forwardустановлено по ошибке.

/sbin/iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT

устанавливает правило, разрешающее пакеты, eth0которые eth1являются ответами или аналогичными пакетами, связанными с уже установленным соединением.

/sbin/iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

устанавливает явное правило, разрешающее пакеты из eth1в eth0.

Это позволяет клиентам eth1получать доступ к серверам, расположенным за ними, eth0независимо от iptablesконфигурации по умолчанию.

Связанный контент