Я процитирую несколько строк из man iptables
:
[!] -p, --protocol protocol
The protocol of the rule or of the packet to check.
[!] -s, --source address[/mask][,...]
Source specification. Address can be either a network name, a hostname,
a net‐work IP address (with /mask), or a plain IP address.
[!] -d, --destination address[/mask][,...]
Destination specification.
Я рассматриваю случай, когда у вас есть два интерфейса с двумя статическими IP-адресами каждый, поскольку вы можете это сделать. Итак, если вы хотите чтобы соответствовать определенным IP-адресам, вы можете изменить свои правила:
iptables -A INPUT -i enp2s0f0 -p tcp -s 0.0.0.0 -d <IP> --dports 80,443 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o enp2s0f0 -p tcp -s <IP> -d 0.0.0.0 --sports 80,443 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -i enp2s0f1 -p tcp -s 0.0.0.0 -d <IP> --dports 80,443 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o enp2s0f1 -p tcp -s <IP> -d 0.0.0.0 --sports 80,443 -m state --state ESTABLISHED -j ACCEPT
Конечно, вы должны изменить
с IP-адресами вашего компьютера. Если вы хотите разрешить соединения только с определенных IP-адресов, измените также 0.0.0.0
.
Это исправилось само собой после нескольких обновлений. С тех пор я также обновился до Fedora 25 и не сталкиваюсь с этой проблемой.