欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

想让内网服务器通过拥有公网ip的服务器上网?那你一定要看这个!

程序员文章站 2022-06-02 20:14:01
...

在云平台或者虚拟软件中,只有一个网卡/公网ip,导致在同一内网下的其他服务器无法连接外网,是不是很头疼呢?不要急,我们按照下面的步骤操作,即可让它们都能上网啦!

  • 查看本机ip

    	[[email protected] ~]# ip a
    	1: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether fa:16:3e:00:64:66 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.11/24 brd 192.168.0.255 scope global noprefixroute dynamic eth0
        valid_lft 56170sec preferred_lft 56170sec
        inet6 fe80::f816:3eff:fe00:6466/64 scope link 
        valid_lft forever preferred_lft forever
        
    
  • 开启端口转发(能连外网那台)
    默认是关闭的,数值为0,变成1开启转发

    echo 1 > /proc/sys/net/ipv4/ip_forward

  • 更改iptables策略

    	iptables -F   ##清空防火墙策略
    	iptables -P input accept   ##把预设的政策设定为 ACCEPT
    	iptables -P INPUT ACCEPT
    	iptables -P FORWARD  ACCEPT
    	iptables -P OUTPUT  ACCEPT
    	iptables -t nat -APOSTROUTING -s 192.168.0.0/24 -j MASQUERADE    ##里面的192.168.0.0/24表示所在网段
    
  • 其他服务器做路由指向本网段

    • 查看本地路由表
      route -n
      	[[email protected] ~]# route -n
      	Kernel IP routing table
      	Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
      	0.0.0.0         192.168.0.1    0.0.0.0         UG    0      0        0 eth0
      	169.254.169.254 192.168.0.254   255.255.255.255 UGH   100    0        0 eth0
      	192.168.0.0     0.0.0.0         255.255.255.0   U     100    0        0 eth0
      

    	从路由中可以看到指向的是192.168.0.1的网段。
    	我们要把路由指向刚才做路由转发的服务器
    
  • 删除默认指向的路由,增加指向开启路由转发的服务器地址

    	[[email protected] ~]# route del -net 0.0.0.0 gw 192.168.0.11 
    	[[email protected] ~]# route add -net 0.0.0.0 gw 192.168.0.11	
    

再试试,是不是就可以上网了呢!

		[[email protected] ~]# ping www.baidu.com
		PING www.a.shifen.com (61.135.169.125) 56(84) bytes of data.
		64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=1 ttl=48 time=4.13 ms
		64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=2 ttl=48 time=4.06 ms
		64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=3 ttl=48 time=3.96 ms