Назад | Перейти на главную страницу

установить отметку на iptables на основе интерфейса

У меня есть машина Ubuntu 10.04 с двумя интерфейсами Ethernet: eth0 (WAN) eth1 (LAN)

Я настроил NAT с помощью этих команд:

sudo iptables -A FORWARD -o eth0 -i eth1 -s 192.168.0.0/24 -m conntrack --ctstate NEW -j ACCEPT
sudo iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A POSTROUTING -t nat -j MASQUERADE 

Теперь я хотел бы добавить метку пакета к пакетам, полученным от eth1, чтобы я мог формировать трафик на основе этой метки. Какие команды iptables мне нужны для этого?

Похоже, мне нужно что-то вроде

   sudo iptables -A FORWARD -i eth1 -t mangle -j MARK --set-mark 3

Но я не уверен. Я хочу убедиться, что эта отметка сохраняется после nat, чтобы я мог проверять пакеты, исходящие по eth0, с помощью tc для формирования трафика.

sudo iptables -A PREROUTING -i eth1 -t mangle -j MARK --set-mark 3

вы хотите, чтобы пакеты были отмечены до того, как они попадут в маршрутизатор, чтобы вы могли использовать PREROUTING. смотри также http://lartc.org/howto/lartc.netfilter.html