-1

I have two networks:

FORWARDS="10.0.0.0/8 192.168.0.0/16"

In cycle I'm allowing tcp udp icmp from same network to same

for ipo in $FORWARDS;do
    iptables -A FORWARD -p tcp -s $ipo -d $ipo -j ACCEPT
    iptables -A FORWARD -p udp -s $ipo -d $ipo -j ACCEPT
    iptables -A FORWARD -p icmp -s $ipo -d $ipo -j ACCEPT
done

But I need to allow same networks from one to eachother, howto add iptables rules below in cycle to reduce number of lines:

iptables -A FORWARD -p tcp -s 10.0.0.0/8 -d 192.168.0.0/16 -j ACCEPT
iptables -A FORWARD -p tcp -s 192.168.0.0/16 -d 10.0.0.0/8 -j ACCEPT
iptables -A FORWARD -p udp -s 10.0.0.0/8 -d 192.168.0.0/16 -j ACCEPT
iptables -A FORWARD -p udp -s 192.168.0.0/16 -d 10.0.0.0/8 -j ACCEPT
iptables -A FORWARD -p icmp -s 10.0.0.0/8 -d 192.168.0.0/16 -j ACCEPT
iptables -A FORWARD -p icmp -s 192.168.0.0/16 -d 10.0.0.0/8 -j ACCEPT
Barmar
  • 741,623
  • 53
  • 500
  • 612
Asunta
  • 1

1 Answers1

0

Use nested loops:

for ipo1 in $FORWARDS; do
    for ip2 in $FORWARD; do
        iptables -A FORWARD -p tcp -s $ipo1 -d $ipo2 -j ACCEPT
        iptables -A FORWARD -p udp -s $ipo1 -d $ipo2 -j ACCEPT
        iptables -A FORWARD -p icmp -s $ipo1 -d $ipo2 -j ACCEPT
    done
done
Barmar
  • 741,623
  • 53
  • 500
  • 612