Network Layout

FW and EX2 have roles of CAS and HUB. They are configured with NLB.
Set-ReceiveConnector "EX2\Default EX2" -Bindings "0.0.0.0:25"
Set-ReceiveConnector "FW\Default FW" -Bindings "0.0.0.0:25"
Set-ReceiveConnector "EX2\Client EX2" -Bindings "0.0.0.0:587"
Set-ReceiveConnector "FW\Client FW" -Bindings "0.0.0.0:587"
Set-ReceiveConnector -Identity "EX2\Default EX2" -PermissionGroups ExchangeUsers, ExchangeServers, ExchangeLegacyServers,anonymousUsers
Set-ReceiveConnector -Identity "FW\Default FW" -PermissionGroups ExchangeUsers, ExchangeServers, ExchangeLegacyServers,anonymousUsers
Dnscmd King.1ask2.com /recordadd 1ask2.com Exserver A 191.121.3.3
Dnscmd King.1ask2.com /recordadd 1ask2.com mail A 191.121.3.3
Dnscmd King.1ask2.com /recordadd 1ask2.com . A 191.121.3.3
Dnscmd King.1ask2.com /recordadd 1ask2.com autodiscover A 191.121.3.3
To test the NLB for CAS, we can modify the themes of OWA.
How to test the NLB for Receive Connectors? Remember that the receive connector is bound to individual server.
From the first computer that is outside of 1ask2 domain,
telnet mail.1ask2.com 25

From the second computer that is outside of 1ask2.com,
telnet mail.1ask2.com 25

The NLB works.
FW node is down.

From the first computer,
telnet mail.1ask2.com 25
The EX2.1ask2.com will respond.
Problem with Microsoft NLB
The WNLB is not an application aware solution. For example, Microsoft Exchange Transport at FW does not start.
Gmail clients can send email to kaiming@1ask2.com. But vanarts.com clients cannot send messages to kaiming@1ask2.com.
The send connector of Exchange 2010 is by default Load Balancing. The only configuration is to add both FW and EX2 as the source transport servers.
New-SendConnector -Name "ToInternet1" -Usage 'Internet' -AddressSpaces 'SMTP:*;1' -DNSRoutingEnabled $false -SmartHosts 'Shawmail.vc.shawcable.net' -SmartHostAuthMechanism 'None' -SourceTransportServers FW,EX2
New-SendConnector -Name "ToInternet2" -Usage 'Internet' -AddressSpaces 'SMTP:*;1' -DNSRoutingEnabled $false -SmartHosts 'mail.vanarts.com' -SmartHostAuthMechanism 'None' -SourceTransportServers FW,EX2
Creating a dedicated receive connector, why?
Uniqueness of Bindings and RemoteIPRange
Because I create a receive connector with the default bindings '0.0.0.0:25', the RemoteIPRange parameter must be unique.
How do you find out the remote IP address range?
Set-ReceiveConnector 'fw\default fw' -ProtocolLoggingLevel verbose
Set-ReceiveConnector 'EX2\default EX2' -ProtocolLoggingLevel verbose
Send several messages from gmail account to kaiming@1ask2.com
Check the log files
\\fw\C$\Program Files\Microsoft\Exchange Server\V14\TransportRoles\Logs\ProtocolLog\SmtpReceive
\\EX2\C$\Program Files\Microsoft\Exchange Server\V14\TransportRoles\Logs\ProtocolLog\SmtpReceive
The following IP addresses are used.
209.85.220.175
209.85.212.47
Without guessing, I simply use 209.0.0.0/8.
Send several messages from vanarts.com account to kaiming@1ask2.com
The log files record the 66.199.140.51.
To receive email from Gmail servers,
new-ReceiveConnector -Name 'receiveVanarts' -Usage 'Internet' -Bindings '0.0.0.0:25' -Fqdn 'mail.1ask2.ccom' -Server 'FW' -RemoteIPRange 209.0.0.0/8,66.199.140.51,191.121.6.1
new-ReceiveConnector -Name 'receiveVanarts' -Usage 'Internet' -Bindings '0.0.0.0:25' -Fqdn 'mail.1ask2.ccom' -Server 'ex2' -RemoteIPRange 209.0.0.0/8,66.199.140.51,191.121.6.1
How to limit the maximum message size?
set-transportconfig -MaxReceiveSize 1MB -MaxSendSize 2MB

Get-ReceiveConnector | Set-ReceiveConnector -MaxMessageSize 10MB

Get-SendConnector | Set-SendConnector -MaxMessageSize '10MB'

get-mailbox 'Kaiming' | fl maxReceiveSize,MaxSendSize
MaxReceiveSize : unlimited
MaxSendSize : unlimited
Get-Mailbox 'Andy.Stierli' | fl maxSendSize,MaxReceiveSize
MaxSendSize : unlimited
MaxReceiveSize : unlimited

You cannot send a message of more than 1MB to kaiming@1ask2.com.
his message wasn't delivered to anyone because it's too large. The limit is 1 MB. This message is 2 MB.
This message won't be sent because it's too large.
set-transportconfig -MaxReceiveSize 2MB -MaxSendSize 1MB
Kaiming.Liao@gmail.com still cannot send a message of more than 1MB to Kaiming@1ask2.com.
Kaiming@1ask2.com cannost send a message of more than 1MB to Andy.Stierli@1ask2.com, either.
Rule of thumb: Always set up the same sizes for both MaxReceiveSize and MaxSendSize.
set-transportconfig -MaxReceiveSize 2MB -MaxSendSize 2MB
Set-ReceiveConnector 'fw\receivevanarts' -MaxMessageSize 1MB
Set-ReceiveConnector 'ex2\receivevanarts' -MaxMessageSize 1MB
Get-SendConnector | Set-SendConnector -MaxMessageSize 1MB
You might have to wait for several minutes for the parameters to be updated.
'Kaiming','Andy.Stierli'| get-mailbox | fl Name, MaxSendSize,MaxReceiveSize
Name : Kaiming Liao
MaxSendSize : unlimited
MaxReceiveSize : unlimited
Name : Andy Stierli
MaxSendSize : unlimited
MaxReceiveSize : unlimited
Outlook with Kaiming@1ask2.com can attach a message with 1.1MB size and send to Andy.Stierli@1ask2.com but cannot send it to Kaiming.Liao@gmail.com.
When Kaiming.Liao@gmail.com sent a message of over 1MB to Kaiming@1ask2.com, the transport protocol logging recorded the following:

set-transportconfig -MaxReceiveSize 1MB -MaxSendSize 1MB
Set-ReceiveConnector 'fw\receivevanarts' -MaxMessageSize 2MB
Set-ReceiveConnector 'ex2\receivevanarts' -MaxMessageSize 2MB
Get-SendConnector | Set-SendConnector -MaxMessageSize 2MB
'Kaiming','Andy.Stierli'| get-mailbox | fl Name, MaxSendSize,MaxReceiveSize
Name : Kaiming Liao
MaxSendSize : unlimited
MaxReceiveSize : unlimited
Name : Andy Stierli
MaxSendSize : unlimited
MaxReceiveSize : unlimited
Kaiming.Liao@gmail.com cannot send a message of over 1MB to Kaiming@1ask2.com.
Kaiming@1ask2.com cannot attach a message with over 1MB.

set-transportconfig -MaxReceiveSize 1MB -MaxSendSize 1MB
Set-ReceiveConnector 'fw\receivevanarts' -MaxMessageSize 2MB
Set-ReceiveConnector 'ex2\receivevanarts' -MaxMessageSize 2MB
Get-SendConnector | Set-SendConnector -MaxMessageSize 2MB
'Kaiming','Andy.Stierli'| get-mailbox | set-mailbox -MaxSendSize 512KB -MaxReceiveSize 512KB
Please, allow several minutes;
Close Outlook and open it again.
Kaiming@1ask2.com mailbox cannot attach a message with over 512KB.
Kaiming.Liao@gmail.com cannot send a message of over 512KB to Kaiming@1ask2.com.
Conclusion:
The most restrictive limit has the final say.
Get-ReceiveConnector 'fw\receiveVanarts' | fl name,permission*
Name : receiveVanarts
PermissionGroups : AnonymousUsers