[ubuntu] 做网关和端口映射

开启iptables转发规则:

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

默认ip_forward值为零,
不允许转发,改为1就可以转发了。
修改过后就马上生效,即内核已经打开ip转发功能。
但如果系统重启后则又恢复为默认值0,如果想永久打开需要通过修改/etc/sysctl.conf文件的内容来实现。
默认sysctl.conf文件中有一个变量是
# net.ipv4.ip_forward = 0
但只是修改sysctl文件不会马上生效,如果想使修改马上生效可以执行下面的命令:
# sysctl –p

192.168.1.0/24表示内容的ip,eth0表示外网的网卡
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE

端口映射:
本地80端口到内网的80端口
iptables -t nat -A PREROUTING -d 192.168.5.193 -p tcp –dport 80 -j DNAT –to 192.168.1.2:80