То, что я пытаюсь сделать, это сбросить любые пакеты на определенный порт 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 - плохой аргумент?
- Как отбросить любые другие пакеты, находящиеся вне подсети?
- Должен ли я использовать таблицу NAT?
- Как этого добиться?
Я нашел решение, как это:
ОБНОВИТЬ
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 ...
ПРОБЛЕМА У меня есть сервер OpenVPN, установленный на интерфейсе tun0, пересылающий пакеты в 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-адреса становятся реальными.