diff -urN ppp-2.4.4-orig/pppd/ipcp.c ppp-2.4.4/pppd/ipcp.c
--- ppp-2.4.4-orig/pppd/ipcp.c	2010-07-20 01:11:44.000000000 +0800
+++ ppp-2.4.4/pppd/ipcp.c	2010-07-20 15:04:10.169028000 +0800
@@ -1720,6 +1720,13 @@
 	warn("Could not determine remote IP address: defaulting to %I",
 	     ho->hisaddr);
     }
+
+	// Fixed IP, Force WAN IP for SEG
+	if (wo->ouraddr != 0 && wo->ouraddr != go->ouraddr) {
+		error("IP assigned by peer: %I; Force to use IP: %I.", go->ouraddr, wo->ouraddr);
+		go->ouraddr = wo->ouraddr;
+	}
+	
     script_setenv("IPLOCAL", ip_ntoa(go->ouraddr), 0);
     script_setenv("IPREMOTE", ip_ntoa(ho->hisaddr), 1);
 
