I need to create a validation rule which should not be fired for External user(Community User) but it should be fired for Internal user(Salesforce user).
You can put the validation based on few criteria.
1) Contact field on User get populated for all community users.
2) You can put the vlaidation based on UserType field in user object. below is link explains about UserType.
You are looking for a field on the Running User. Someone might have another way of doing this, but all of my Community License Profiles start with a "*" tag in them. This naming convention would correlate multiple User Types (Community Users & Partner Users). I was able to build a validation rule on the Account that doesn't let the Community Users touch the Account Name. See below:
Taking the First character of the Profile to see if its a Community User. If it is and the Name is Changed, it fires off stopping them.