Про форвардинг пакетов между сетевыми интерфейсами
У меня есть компьютер, в котором существует несколько сетевых интерфейсов (т.е. подключено несколько сетевых карт).
Как сделать так, чтобы пакет, приходящий на один сетевой интерфейс, автоматически форвардился на все остальные согласно таблице маршрутизации.
Или наоборот, как сделать так, чтобы пакет, приходящий на один сетевой интерфейс, не пробрасывался на остальные.
Решение:
Смотрим состояние:
cat /proc/sys/net/ipv4/ip_forward
1 - форвардинг на все интерфейсы.
0 - отключение форвардинга.
Соответственно, для отключения форвардинга нужно выполнить:
sudo sysctl -w net.ipv4.ip_forward=0
Для включения форвардинга между сетевыми интерфейсами нужно выполнить:
sudo echo 1 > /proc/sys/net/ipv4/ip_forward
Еще одна история.
У меня есть компьютер, в котором два сетевых интерфейса.
eth0 (192.168.1.10 статический) - это локальная сеть. К ней подключена некая железка.
usb0 (192.168.42.199 динамический) - это сетевой интерфейс, создается телефоном HTC, если там выбрать опцию - Интернет-модем (выход в Интернет через телефон), при этом сам телефон получает интернет по wifi или 3g.
Мне надо, чтобы выход в интернет получила некая железка с адресом 192.168.1.100, подключенная к eth0.
Решение:
Смотрим текущие настройки iptables:
$ sudo iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination
Применяем следующие правила:
sudo iptables -t nat -A POSTROUTING -s 192.168.1.100 -j MASQUERADE sudo iptables -A FORWARD -i eth0 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT sudo iptables -A FORWARD -i usb0 -m state --state RELATED,ESTABLISHED -j ACCEPT
Смотрим новые настройки iptables:
$ sudo iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination ACCEPT all -- anywhere anywhere state NEW,RELATED,ESTABLISHED ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED Chain OUTPUT (policy ACCEPT) target prot opt source destination