Another option if you want to use a specific snat for specific ip addresses and then do NOT use snat for any other traffic then perhaps the following irule and link can get you there as well.
https://devcentral.f5.com/questions/snat-based-on-incoming-ip
You can remove the logging section once you have confirmed it is working for.
when CLIENT_ACCEPTED {
switch [IP::client_addr] {
"172.16.21.201" { snat 172.16.31.201 }
"10.10.10.11" { snat 192.168.42.11 }
"10.10.10.12" { snat 192.168.42.12 }
"10.10.10.13" { snat 192.168.42.13 }
default { snat none }
}
}
when SERVER_CONNECTED {
log local0. "client [IP::client_addr]:[TCP::client_port] snat [IP::local_addr]:[TCP::local_port] server [IP::server_addr]:[TCP::server_port]"
}