如何让外网访问内网搭建的www服务器
来源:互联网 发布:数据库如何建表 编辑:程序博客网 时间:2024/05/22 16:04
外网访问内网的主机,内网任何一台主机都可以搭建www服务器让外网访问;内网主机既可以动态获取ip访问外网,也可以手动设置ip访问外网!
一,搭建nat服务器实现内网与外网相互访问;
二,搭建dhcp服务器便于对内网主机网络参数的管理(适合于内网主机较多的情形);
三,在内网主机上搭建www服务器(这里是在"192.168.1.80"主机上);
以下是具体实现过程:
(eth1为外网接口,etho为内网接口)
在/bin下新建nat.sh,内容如下:
/***** nat.sh *****/
#!/bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
#echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
#echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
#INET_IF="ppp0"
INET_IF="eth1"
LAN_IF="eth0"
INET_IP="218.198.18.56"#(根据具体网络环境设定)
WWW_IP="192.168.1.80"#(搭建www服务器的内网主机)
LAN_IP_RANGE="192.168.1.0/24"
IPT="/sbin/iptables"
TC="/sbin/tc"
MODPROBE="/sbin/modprobe"
$MODPROBE ip_tables
$MODPROBE iptable_nat
$MODPROBE ip_nat_ftp
$MODPROBE ip_nat_irc
$MODPROBE ipt_mark
$MODPROBE ip_conntrack
$MODPROBE ip_conntrack_ftp
$MODPROBE ip_conntrack_irc
$MODPROBE ipt_MASQUERADE
for TABLE in filter nat mangle ; do
$IPT -t $TABLE -F
$IPT -t $TABLE -X
$IPT -t $TABLE -Z
done
$IPT -P INPUT ACCEPT
$IPT -P OUTPUT ACCEPT
$IPT -P FORWARD ACCEPT
$IPT -t nat -P PREROUTING ACCEPT
$IPT -t nat -P OUTPUT ACCEPT
$IPT -t nat -P POSTROUTING ACCEPT
# 拒绝INTERNET客户访问
$IPT -A INPUT -i $INET_IF -m state --state RELATED,ESTABLISHED -j ACCEPT
#$IPT -A INPUT -i $INET_IF -p tcp -s 123.5.0.0/16 --dport 22 -j ACCEPT
#$IPT -A INPUT -i $INET_IF -p tcp --dport 80 -j ACCEPT
$IPT -A INPUT -i $LAN_IF -p udp --dport 67 -j ACCEPT
$IPT -A INPUT -i $INET_IF -m state --state NEW,INVALID -j DROP
for DNS in $(grep ^n /etc/resolv.conf|awk '{print $2}'); do
$IPT -A INPUT -p tcp -s $DNS --sport domain -j ACCEPT
$IPT -A INPUT -p udp -s $DNS --sport domain -j ACCEPT
done
# anti bad scaning
$IPT -A INPUT -i $INET_IF -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP
$IPT -A INPUT -i $INET_IF -p tcp --tcp-flags ALL ALL -j DROP
$IPT -A INPUT -i $INET_IF -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP
$IPT -A INPUT -i $INET_IF -p tcp --tcp-flags ALL NONE -j DROP
$IPT -A INPUT -i $INET_IF -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
$IPT -A INPUT -i $INET_IF -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
$IPT -t nat -A PREROUTING -d $INET_IP -p tcp --dport 80 -j DNAT --to-destination $WWW_IP:80
#(以上这条规则很重要,实现外网通过80端口访问内网www服务器)
if [ $INET_IF = "ppp0" ] ; then
$IPT -t nat -A POSTROUTING -o $INET_IF -s $LAN_IP_RANGE -j MASQUERADE
else
$IPT -t nat -A POSTROUTING -o $INET_IF -s $LAN_IP_RANGE -j SNAT --to-source $INET_IP
fi
nat服务器搭建完毕!把/bin/nat.sh添加到rc.local中实现开机启动!
接着搭建dhcp服务器让内网主机自动获取ip,修改dhcpd.conf,内容如下:
/***** dhcp *****/
ddns-update-style interim;
ignore client-updates;
subnet 192.168.1.0 netmask 255.255.255.0 {
# --- default gateway
option routers 192.168.1.254;#(内网网关)
option subnet-mask 255.255.255.0;
# option nis-domain "domain.org";
# option domain-name "domain.org";
option domain-name-servers 211.84.160.8, 202.102.224.68;#(域名服务器,根据具体网络环境设定)
option time-offset -18000; # Eastern Standard Time
# option ntp-servers 192.168.1.1;
# option netbios-name-servers 192.168.1.1;
# --- Selects point-to-point node (default is hybrid). Don't change this unless
# -- you understand Netbios very well
# option netbios-node-type 2;
range dynamic-bootp 192.168.1.100 192.168.1.200;#(内网ip的范围)
default-lease-time 21600;
max-lease-time 43200;
# we want the nameserver to appear at a fixed address
# host ns {
# next-server marvin.redhat.com;
# hardware ethernet 12:34:56:78:AB:CD;
# fixed-address 207.175.42.254;
# }
}
重启dhcp服务器!看是否成功!若不成功,说明配置文件有误!
剩下的工作就是在内部主机上搭建www服务器,需要说明www服务器在这里是192.168.1.80这台主机!
一,搭建nat服务器实现内网与外网相互访问;
二,搭建dhcp服务器便于对内网主机网络参数的管理(适合于内网主机较多的情形);
三,在内网主机上搭建www服务器(这里是在"192.168.1.80"主机上);
以下是具体实现过程:
(eth1为外网接口,etho为内网接口)
在/bin下新建nat.sh,内容如下:
/***** nat.sh *****/
#!/bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
#echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
#echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
#INET_IF="ppp0"
INET_IF="eth1"
LAN_IF="eth0"
INET_IP="218.198.18.56"#(根据具体网络环境设定)
WWW_IP="192.168.1.80"#(搭建www服务器的内网主机)
LAN_IP_RANGE="192.168.1.0/24"
IPT="/sbin/iptables"
TC="/sbin/tc"
MODPROBE="/sbin/modprobe"
$MODPROBE ip_tables
$MODPROBE iptable_nat
$MODPROBE ip_nat_ftp
$MODPROBE ip_nat_irc
$MODPROBE ipt_mark
$MODPROBE ip_conntrack
$MODPROBE ip_conntrack_ftp
$MODPROBE ip_conntrack_irc
$MODPROBE ipt_MASQUERADE
for TABLE in filter nat mangle ; do
$IPT -t $TABLE -F
$IPT -t $TABLE -X
$IPT -t $TABLE -Z
done
$IPT -P INPUT ACCEPT
$IPT -P OUTPUT ACCEPT
$IPT -P FORWARD ACCEPT
$IPT -t nat -P PREROUTING ACCEPT
$IPT -t nat -P OUTPUT ACCEPT
$IPT -t nat -P POSTROUTING ACCEPT
# 拒绝INTERNET客户访问
$IPT -A INPUT -i $INET_IF -m state --state RELATED,ESTABLISHED -j ACCEPT
#$IPT -A INPUT -i $INET_IF -p tcp -s 123.5.0.0/16 --dport 22 -j ACCEPT
#$IPT -A INPUT -i $INET_IF -p tcp --dport 80 -j ACCEPT
$IPT -A INPUT -i $LAN_IF -p udp --dport 67 -j ACCEPT
$IPT -A INPUT -i $INET_IF -m state --state NEW,INVALID -j DROP
for DNS in $(grep ^n /etc/resolv.conf|awk '{print $2}'); do
$IPT -A INPUT -p tcp -s $DNS --sport domain -j ACCEPT
$IPT -A INPUT -p udp -s $DNS --sport domain -j ACCEPT
done
# anti bad scaning
$IPT -A INPUT -i $INET_IF -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP
$IPT -A INPUT -i $INET_IF -p tcp --tcp-flags ALL ALL -j DROP
$IPT -A INPUT -i $INET_IF -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP
$IPT -A INPUT -i $INET_IF -p tcp --tcp-flags ALL NONE -j DROP
$IPT -A INPUT -i $INET_IF -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
$IPT -A INPUT -i $INET_IF -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
$IPT -t nat -A PREROUTING -d $INET_IP -p tcp --dport 80 -j DNAT --to-destination $WWW_IP:80
#(以上这条规则很重要,实现外网通过80端口访问内网www服务器)
if [ $INET_IF = "ppp0" ] ; then
$IPT -t nat -A POSTROUTING -o $INET_IF -s $LAN_IP_RANGE -j MASQUERADE
else
$IPT -t nat -A POSTROUTING -o $INET_IF -s $LAN_IP_RANGE -j SNAT --to-source $INET_IP
fi
nat服务器搭建完毕!把/bin/nat.sh添加到rc.local中实现开机启动!
接着搭建dhcp服务器让内网主机自动获取ip,修改dhcpd.conf,内容如下:
/***** dhcp *****/
ddns-update-style interim;
ignore client-updates;
subnet 192.168.1.0 netmask 255.255.255.0 {
# --- default gateway
option routers 192.168.1.254;#(内网网关)
option subnet-mask 255.255.255.0;
# option nis-domain "domain.org";
# option domain-name "domain.org";
option domain-name-servers 211.84.160.8, 202.102.224.68;#(域名服务器,根据具体网络环境设定)
option time-offset -18000; # Eastern Standard Time
# option ntp-servers 192.168.1.1;
# option netbios-name-servers 192.168.1.1;
# --- Selects point-to-point node (default is hybrid). Don't change this unless
# -- you understand Netbios very well
# option netbios-node-type 2;
range dynamic-bootp 192.168.1.100 192.168.1.200;#(内网ip的范围)
default-lease-time 21600;
max-lease-time 43200;
# we want the nameserver to appear at a fixed address
# host ns {
# next-server marvin.redhat.com;
# hardware ethernet 12:34:56:78:AB:CD;
# fixed-address 207.175.42.254;
# }
}
重启dhcp服务器!看是否成功!若不成功,说明配置文件有误!
剩下的工作就是在内部主机上搭建www服务器,需要说明www服务器在这里是192.168.1.80这台主机!
0
上一篇:linux 中命令yum的用法
下一篇:bashrc与profile的区别
相关热门文章
- linux 常见服务端口
- xmanager 2.0 for linux配置
- 【ROOTFS搭建】busybox的httpd...
- openwrt中luci学习笔记
- 什么是shell
- linux dhcp peizhi roc
- 关于Unix文件的软链接
- 求教这个命令什么意思,我是新...
- sed -e "/grep/d" 是什么意思...
- 谁能够帮我解决LINUX 2.6 10...
给主人留下些什么吧!~~
评论热议
0 0
- 如何让外网访问内网搭建的www服务器
- 如何利用花生壳来搭建突破内网访问的服务器
- 搭建可通过外网访问的内网服务器
- centos7搭建ssl访问的内网服务器openssh-sever
- 如何让普通电脑变服务器 让外网访问内网的tomcat
- 如何访问本地搭建的FTP服务器
- 谈谈如何通过WEB服务器访问内网数据库服务器的原理
- centos6.5下搭建openvpn服务,访问内网服务器
- centos6.5下搭建openvpn服务,访问内网服务器
- centos6.5下搭建openvpn服务,访问内网服务器
- 使用花生壳和TP-LINK路由器搭建外网访问内网服务器的平台
- ngrok内网穿透,ngrok服务器搭建,实现外网访问内网服务;树莓派外网访问内网的web服务及ssh外网登录
- 自己搭建服务器通过外网访问内网的方法(端口映射、内网穿透、重定向等)
- UBUNTU 内网服务器的访问
- 如何在局域网内搭建外网能访问的网站?
- 外网用户如何访问内网FTP服务器
- 外网如何访问内网SVN服务器
- 如何在外网访问内网服务器数据库
- 《IT人-不要一辈子靠技术生存 》
- man man
- linux 中命令yum的用法
- hadoop SecondNamenode详解
- android - Genymotion 安装
- 如何让外网访问内网搭建的www服务器
- 笔记:GitHub创建项目并提交
- bashrc与profile的区别
- 正则表达式口诀
- fcntl实例
- 大学要防止培养‘小人’
- 学者批教育不公阻碍穷二代向上流动 致贫者愈贫
- HZAU oj 1015(LCS)
- Ubuntu服务器下搭建VPN教程
原创粉丝点击
热门IT博客
热门问题
老师的惩罚
人脸识别
我在镇武司摸鱼那些年
重生之率土为王
我在大康的咸鱼生活
盘龙之生命进化
天生仙种
凡人之先天五行
春回大明朝
姑娘不必设防,我是瞎子
漂唇脱痂后很干怎么办
骨性嘴凸怎么办
腹水怎么办
甲亢怎么办
甲减变胖怎么办
脚上烂皮怎么办
美缝剂弄到鞋上怎么办
买车临牌怎么办
柱大偏拉怎么办
钢化膜贴不紧怎么办
钢化膜起边怎么办
膜边老开怎么办
抛釉砖发雾不亮怎么办
准生证怎么办?
宫腔大怎么办
瘙痒怎么办
衣原体怎么办
眼花怎么办
出生证怎么办
入台证医美怎么办
医美健检入台证怎么办
被拒签怎么办
订两晚想退一晚怎么办
唐小憎跑路怎么办
浅草寺末吉签怎么办
浅草寺求到凶怎么办
603920怎么办
幼鸽不飞怎么办
幼鸽眼房水多怎么办
幼鸽飞丢怎么办
苦爪有蜂子怎么办
养鸽证怎么办
天落不进鸽棚怎么办
三险一金停缴怎么办
怎么办五险一金停保
溜肉段挂不上糊怎么办
身份证怎么办
挑食怎么办
家有小木猞子怎么办
带错符文怎么办
记者证怎么办