Çë½Ì¹ØÓÚLinuxµÄiptablesµÄnat
192.168.0.201ÊÇLinux
192.168.0.35ÊÇÁíÍâһ̨װÓÐWEBµÄ·þÎñÆ÷£¬
ÎÒÏë·ÃÎÊ192.168.0.201µÄʱºò
ÈÃËûnatµ½192.168.0.35µÄ80ÉÏ¡£
ÒÔÏÂÊÇÎÒÉèÖõ쬵«ÊDz»ÐС£Ó¦¸ÃÔõôÉèÖÃѽ£¿
root@ubuntu:/home/# iptables -t nat -F
root@ubuntu:/home/# iptables -t nat -X
root@ubuntu:/home/# iptables -t nat -A PREROUTING -i eth0 -d 192.168.0.201 -p tcp --dport 80 -j DNAT --to 192.168.0.35:80
root@ubuntu:/home/# iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.35 -p tcp --sport 80 -j SNAT --to 192.168.0.201:80
ÓÃtcpdump×¥°ü¿´¿´¾ßÌåµÄ·¢°ü.
ÁíÍâ, ÐèÒª¿ªÆôipv4_forward
ÒѾ net.ipv4.ip_forward = 1 ¹ýÁË£¬¿É»¹ÊDz»ÐÐ
Ä㻹Ҫȷ±£´Óserver·µ»ØµÄÊý¾Ý°üÒ»¶¨»¹»á¾¹ýlinuxµÄ»úÆ÷¡£
[
UP
ÎÒ·¢ÏÖ¿Í»§»úÎÞ·¨Á¬½Óµ½linuxµÄ»úÆ÷
ËùÒÔ¼ÓÁËÕâÁ½Ìõ
iptables -t filter -A INPUT -s 192.168.0.200/24 -j ACCEPT
iptables -t filter -A OUTPUT -d 192.168.0.200/24 -j ACCEPT
µ«ÊÇ»¹ÊÇÁ¬²»ÉÏLinux
192.168.0.35ÊÇweb·þÎñÆ÷
192.168.0.201ÊÇLinux»ú
192.168.0.200Êǿͻ§»ú
ÎÒÏëÓÃ200ͨ¹ý201µÄnatÁ¬½Ó35µÄ80ÉÏ
Ïà¹ØÎÊ´ð£º
ÎÒcopyÁËÒ»²¿·Ö±ðÈ˵ijÌÐò£¬ÔÚ¿ª·¢°åÉÏÔËÐÐÒ»¶Îʱ¼äºó·¢ÏÖÓÐÄÚ´æÐ¹Â¶µÄÌáʾ£¬Õâ¸ö¸ÃÔõô°ì£¬Ò²Ã»µ÷ÊÔ¹¤¾ß£¬Ö»ÄܼӴòÓ¡ÐÅÏ¢¡£
ÆäÖÐmalloc¶¯Ì¬²úÉ ......
int _send()
{
int fd,size;
char fname[1024],buffer[4096];
/*ÊäÈëÒª´«ÊäµÄÎļþ*/
printf("ÇëÊäÈëÄúÒª´«ÊäµÄÎļþ·¾¶:\n");
gets(fname);
/*´ò¿ªÎļþ*/
fd = open(fn ......
ÎÊÌâÒÀ¾É¡£¡£ÒÔΪ×Ô¼º½â¾öÁË
Ϊʲôioctl(fd,I2C_SLAVE,0x50) ÕýÈ·£¬Õâ¸öÊÇEEPROM
¶øioctl(fd,I2C_SLAVE,0xea) ÔòÌáʾINVALID ARGUMENT£¿ Õâ¸öÊÇI/OÀ©Õ¹Æ÷¼þ
¿ÉÒԿ϶¨µÄÊÇ£¬Ó²¼þûÎÊÌâµÄ£¬ÒòΪ±ðµÄCPU²»ÓÃl ......
дÁ˸ö²âÊÔ³ÌÐòÈçÏÂ
struct hostent *hp;
char AlarmDevIP[20];
int x2;
hp = gethostbyname("www.google.com");
if (hp)
{
......