Те, що я намагаюся зробити, це DROP будь-які пакети в конкретний порт UDP, за винятком тих, з моєї захищеної підмережі 10.8.0.0/24.
iptables -t nat -A --src 10.8.0.0/24 -p udp --destination-port 63210 -j ACCEPT
Я отримую цю помилку: Bad argument: 10.8.0.0/24
Я не розумію, чому це не працює ...
- Чому ця команда говорить, що IP є поганим аргументом?
- Як DROP будь-які інші пакети, поза підмережі?
- Чи повинен я використовувати таблицю NAT?
- Як досягти цього?
Я знайшов такий спосіб:
UPDATE
iptables -N xchain
iptables -A xchain --source 10.8.0.0/24 -j ACCEPT
iptables -A xchain -j DROP
iptables -I INPUT -p udp --dport 63210 -j xchain
Після застосування цього я не можу отримати доступ до порту з будь-якого ip ...
ПРОБЛЕМА У мене на сервері tun0 встановлений сервер OpenVPN, який пересилає пакети в eth0 так:
iptables -I FORWARD -i tun0 -o eth0 \
-s 10.8.0.0/24 -m conntrack --ctstate NEW -j ACCEPT
iptables -I FORWARD -m conntrack --ctstate RELATED,ESTABLISHED \
-j ACCEPT
iptables -t nat -I POSTROUTING -o eth0 \
-s 10.8.0.0/24 -j MASQUERADE
Питання в тому, як ловити tun0 трафік і фільтрувати його, а не eth0, де IP-адреси стають реальними.