Rebuilt the OpenVPN server, still the same issue. Site B can access all of Site A, Site A can ping, telnet, traceroute but no HTTP.
Here is the new IPTables:
Chain INPUT (policy ACCEPT)
target prot opt source destination
AS0_ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
AS0_ACCEPT all -- anywhere anywhere
AS0_IN_PRE all -- anywhere anywhere mark match 0x2000000/0x2000000
AS0_ACCEPT udp -- anywhere anywhere state NEW udp dpt:openvpn
AS0_ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:https
AS0_WEBACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
AS0_WEBACCEPT tcp -- anywhere anywhere state NEW tcp dpt:943
Chain FORWARD (policy ACCEPT)
target prot opt source destination
AS0_ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
AS0_IN_PRE all -- anywhere anywhere mark match 0x2000000/0x2000000
AS0_OUT_S2C all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
AS0_OUT_LOCAL all -- anywhere anywhere
Chain AS0_ACCEPT (5 references)
target prot opt source destination
ACCEPT all -- anywhere anywhere
Chain AS0_IN (4 references)
target prot opt source destination
ACCEPT all -- anywhere OpenVPN-VM2
all -- 0.0.0.0 anywhere
AS0_U_BOOSH_IN all -- 192.168.77.0/24 anywhere
AS0_IN_POST all -- anywhere anywhere
Chain AS0_IN_NAT (1 references)
target prot opt source destination
MARK all -- anywhere anywhere MARK or 0x8000000
ACCEPT all -- anywhere anywhere
Chain AS0_IN_POST (2 references)
target prot opt source destination
ACCEPT all -- anywhere 192.168.0.0/24
AS0_OUT all -- anywhere anywhere
DROP all -- anywhere anywhere
Chain AS0_IN_PRE (2 references)
target prot opt source destination
AS0_IN all -- anywhere link-local/16
AS0_IN all -- anywhere 192.168.0.0/16
AS0_IN all -- anywhere 172.16.0.0/12
AS0_IN all -- anywhere 10.0.0.0/8
ACCEPT all -- anywhere anywhere
Chain AS0_IN_ROUTE (0 references)
target prot opt source destination
MARK all -- anywhere anywhere MARK or 0x4000000
ACCEPT all -- anywhere anywhere
Chain AS0_OUT (2 references)
target prot opt source destination
all -- anywhere 0.0.0.0
AS0_U_BOOSH_OUT all -- anywhere 192.168.77.0/24
AS0_OUT_POST all -- anywhere anywhere
Chain AS0_OUT_LOCAL (1 references)
target prot opt source destination
DROP icmp -- anywhere anywhere icmp redirect
ACCEPT all -- anywhere anywhere
Chain AS0_OUT_POST (2 references)
target prot opt source destination
DROP all -- anywhere anywhere
Chain AS0_OUT_S2C (1 references)
target prot opt source destination
AS0_OUT all -- anywhere anywhere
Chain AS0_U_BOOSH_IN (1 references)
target prot opt source destination
AS0_IN_NAT all -- anywhere 192.168.0.0/24
AS0_IN_POST all -- anywhere anywhere
Chain AS0_U_BOOSH_OUT (1 references)
target prot opt source destination
ACCEPT all -- 192.168.0.0/24 anywhere
ACCEPT all -- 192.168.77.0/24 anywhere
ACCEPT all -- 172.27.224.0/20 anywhere
AS0_OUT_POST all -- anywhere anywhere
Chain AS0_WEBACCEPT (2 references)
target prot opt source destination
ACCEPT all -- anywhere anywhere
Here is the output of TCPDUMP from a Mac to 192.168.77.43 (a web server running on port 80)
sudo tcpdump -i any -n -v dst host 192.168.77.43
tcpdump: data link type PKTAP
tcpdump: listening on any, link-type PKTAP (Apple DLT_PKTAP), capture size 262144 bytes
12:57:40.757529 IP (tos 0x0, ttl 64, id 40720, offset 0, flags [DF], proto TCP (6), length 64)
192.168.0.231.58128 > 192.168.77.43.80: Flags [SEW], cksum 0x3185 (correct), seq 4123362743, win 65535, options [mss 1460,nop,wscale 5,nop,nop,TS val 147508652 ecr 0,sackOK,eol], length 0
12:57:40.783092 IP (tos 0x0, ttl 64, id 33724, offset 0, flags [DF], proto TCP (6), length 40)
192.168.0.231.58128 > 192.168.77.43.80: Flags [.], cksum 0x9b74 (correct), ack 2434086152, win 8192, length 0
12:57:40.784287 IP (tos 0x0, ttl 64, id 15147, offset 0, flags [DF], proto TCP (6), length 456)
192.168.0.231.58128 > 192.168.77.43.80: Flags [P.], cksum 0xfafe (correct), seq 0:416, ack 1, win 8192, length 416: HTTP, length: 416
GET / HTTP/1.1
Host: 192.168.77.43
Connection: keep-alive
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
DNT: 1
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8
12:57:41.076547 IP (tos 0x0, ttl 64, id 50307, offset 0, flags [DF], proto TCP (6), length 456)
192.168.0.231.58128 > 192.168.77.43.80: Flags [P.], cksum 0xfafe (correct), seq 0:416, ack 1, win 8192, length 416: HTTP, length: 416
GET / HTTP/1.1
Host: 192.168.77.43
Connection: keep-alive
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
DNT: 1
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8
12:58:41.146555 IP (tos 0x0, ttl 64, id 44501, offset 0, flags [DF], proto TCP (6), length 64)
192.168.0.231.58467 > 192.168.77.43.80: Flags [S], cksum 0x09b6 (correct), seq 492872660, win 65535, options [mss 1460,nop,wscale 5,nop,nop,TS val 147566384 ecr 0,sackOK,eol], length 0
12:58:41.154346 IP (tos 0x0, ttl 64, id 52071, offset 0, flags [DF], proto TCP (6), length 40)
192.168.0.231.58467 > 192.168.77.43.80: Flags [.], cksum 0x644f (correct), ack 2434409758, win 8192, length 0
12:58:41.154763 IP (tos 0x0, ttl 64, id 22315, offset 0, flags [DF], proto TCP (6), length 456)
192.168.0.231.58467 > 192.168.77.43.80: Flags [P.], cksum 0xc3d9 (correct), seq 0:416, ack 1, win 8192, length 416: HTTP, length: 416
GET / HTTP/1.1
Host: 192.168.77.43
Connection: keep-alive
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
DNT: 1
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8
12:58:41.394142 IP (tos 0x0, ttl 64, id 24631, offset 0, flags [DF], proto TCP (6), length 456)
192.168.0.231.58467 > 192.168.77.43.80: Flags [P.], cksum 0xc3d9 (correct), seq 0:416, ack 1, win 8192, length 416: HTTP, length: 416
GET / HTTP/1.1
Host: 192.168.77.43
Connection: keep-alive
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
DNT: 1
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8