У меня есть 1 сервер с 3 NIcs:
Первое, что нужно сделать, действительно включают передачу IP. Это сделано любой при помощи
echo "1" > /proc/sys/net/ipv4/ip_forward
Затем мы добавим правило, говорящее для передачи трафика
sudo iptables -A FORWARD -i LAN1 -o LAN0 -j ACCEPT
sudo iptables -A FORWARD -i LAN0 -o LAN1 -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -t nat -A POSTROUTING -o LAN0 -j MASQUERADE
На этом пути LAN1
может перейти к Интернету через LAN0
.
Редактирование 1
Попробуйте это
Пример для маршрутизации трафика для порта 4444 и можно реализовать для порта, для которого Вы нуждаетесь
Давайте начнем с iptable. Здесь мы возьмем 4444
как сервис для маршрутизации. Использовать mangle
таблица iptable для изменения 4444
пакеты.
sudo iptables -t mangle -A OUTPUT -p tcp –dport 4444 -j MARK –set-mark 0×1
Мы отмечаем все пакеты с целевым портом 4444
как ’0×1 ′.
Удалить эту запись из iptables
мы можем использовать -D
вместо -A
.
Затем, создайте новую таблицу маршрутизации IP в /etc/iproute2/rt_table
просто дав запись
100 4444table
Запишите правило для 4444
пакеты.
ip rule add fwmark 0×1 lookup 4444table
Добавьте маршрут за новой таблицей 4444table
. Здесь мы будем использовать ’192.168.1.1 ′ в качестве шлюза для 4444
. Адрес ’192.168.1.1 ′
Мы копируем все записи кроме записи шлюза по умолчанию от основной таблицы.
sudo ip route show table main | grep -Ev ^default | while read ROUTE ; do ip route add table 4444table $ROUTE; done
Добавьте запись шлюза по умолчанию для 4444
пакеты к таблице 4444table
sudo ip route add default via 192.168.1.1 table 4444table
Использовать ip route show table 4444table
показать все маршруты в 4444table
.
rmmod
/modprobe
? – Timothy Truckle 1 January 2017 в 00:16