sudo ufw disablehtml
sudo ufw enableubuntu
sudo ufw statustcp
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -Fpost
iptables -t nat -F POSTROUTINGui
apt-get remove iptablesspa
iptables -L -x -n命令行
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPThtm
iptables -A INPUT -p tcp -i eth0 --dport 22 -j ACCEPT //注意网卡blog
iptables -A INPUT -j DROP接口
进行至此,仍有一个问题,就是环回接口也被阻断了。刚才添加DROP规则的时候其实就可使用-i eth0来解决这一问题。然而咱们也能够为环回接口添加一条新规则来解决这个问题。可是不能将新规则追加到末尾,由于前一条规则已经把全部报文都丢弃了, 而应该把它插到DROP规则前面,即规则表中第四行的位置。
iptables -I INPUT 3 -i lo -j ACCEPT
iptables -L -v
iptables -D INPUT 4
iptables -t nat -D POSTROUTING 1
iptables -A INPUT -p tcp -i eth0 --dport 22 -j ACCEPT
iptables -I INPUT 3 -i lo -j ACCEPT
注意:规则的次序很是关键,谁的规则越严格,应该放的越靠前,而检查规则的时候,是按照从上往下的方式进行检查的
sudo iptables -I INPUT -p tcp -m tcp --dport 25550 -j ACCEPT
iptables屏蔽三种ip段
封64.0.0.0—64.255.255.255 ip段的方法是在源ip里输入,64.0.0.0/8;
封64.64.0.0—64.64.255.255 ip段的方法是在源ip里输入,64.64.0.0/16;
封64.64.64.0—64.64.64.255 ip段的方法是在源ip里输入,64.64.64.0/24;
例子 sudo iptables -I INPUT -s 60.181.60.0/16 -j DROP
# iptables-save > /etc/iptables.up.rules #须要sudo su - root切换用户后执行,直接sudo cmd是不行的
查看nat规则
iptables -t nat -L
二、若是想取消上面所加的规则:
iptables -F -t nat
iptables -X -t nat
iptables -Z -t nat
三、阻止一个IP链接本机
iptables -t filter -A INPUT -s 192.168.1.5 -i eth0 -j DROP
四、查看本机的IPTABLES的所填规则
iptables -L -n
一、设置为1表示开启数据包转发
echo 1 > /proc/sys/net/ipv4/ip_forward
二、配置转发规则和端口
iptables -t nat -A PREROUTING -d 120.24.4.118 -p tcp --dport 25560 -j DNAT --to 218.67.90.216
三、 数据包返回通道
iptables -t nat -I POSTROUTING -p tcp --dport 3306 -j MASQUERADE
2:rinetd端口转发
wget http://www.boutell.com/rinetd/http/rinetd.tar.gz&&tar -xvf rinetd.tar.gz&&cd rinetd
sed -i 's/65536/65535/g' rinetd.c
mkdir /usr/man&&make&&make install
建立配置文件
cat >>/etc/rinetd.conf <<end
# allow 192.168.2.*
# deny 192.168.1.*
# bindadress bindport connectaddress connectport
0.0.0.0 3306 xxxx.rds.aliyuncs.com 3306
logfile /var/log/rinetd.log
end
echo rinetd >>/etc/rc.local
(2011-07-10 17:46:21)
转载▼
标签: 杂谈 |
分类:iptables |
背景:
某公司须要链接业务平台,可是又不能直接链接,须要一台机器A做为数据跳转。
具体需求:
B机器访问A机器的80端口须要跳转到C机器的80
解决方法:
使用iptables 的DNAT,SNAT实现。
A机器iptables设置:
iptables -t nat -A PREROUTING -s B机器地址 -p tcp -m tcp --dport 80 -j DNAT --to-destination C机器地址:80 (实现数据映射)
iptables -A FORWARD -s B机器地址 -j ACCEPT(容许B机器的数据经过这台机器)
iptables -P FORWARD DROP (设置默认FORWARD规则)
iptables -t nat -A POSTROUTING -j MASQUERADE (设置SNAT地址转换)
开启机器的路由转发:
vi /etc/sysctl.conf
将 net.ipv4.ip_forward = 0 改为:
net.ipv4.ip_forward = 1
sysctl -p
这样就能够实现拉。
记得保存设置
service iptables save
SNAT 指定目的地址的 转换:
iptables -t nat -A POSTROUTING -d xxx.xxx.xxx.xxx -j SNAT --to-source xxx.xxx.xxx.xxx:port
应用于中起色器:
访问A 机器地址的 8080 经过转换估定 IP 转发B 机器的 80
每每这个时候是访问A机器其余端
60.181.60.197
sudo iptables -L
sudo iptables -L -x -n
/sbin/iptables -P INPUT ACCEPT
/sbin/iptables -F
在CentOS/RHEL 7上开启端口
启动CentOS/RHEL 7后,防火墙规则设置由firewalld服务进程默认管理。一个叫作firewall-cmd的命令行客户端支持和这个守护进程通讯以永久修改防火墙规则。
使用这些命令来永久打开一个新端口(如TCP/80)。
$ sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
$ sudo firewall-cmd --reload
若是不使用“--permanent”标记,把么防火墙规则在重启后会失效。
在CentOS/RHEL 6上开启端口
在CentOS/RHEL 6甚至更早版本系统上,iptables服务负责维护防火墙规则。
使用iptables的第一条命令能够经过防火墙开启一个新TCP/UDP端口。为了永久保存修改过的规则,还须要第二条命令。
$ sudo iptables -I INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
$ sudo service iptables save
另外一种方法是经过一个名为system-config-firewall-tui的命令行用户接口(TUI)的防火墙客户端。
$ sudo system-config-firewall-tui
选择位于中间的“Customize”按钮,按下ENTER键便可
iptables -t nat -A PREROUTING -d 210.83.2.206 -p tcp --dport 21 -j DNAT --to 192.168.1.3 转发规则